diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f23dcda --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +MNEMONIC= +BSCSCAN= +TESTNET_ADDRESS= \ No newline at end of file diff --git a/ChainGPT.sol_flattened.sol b/ChainGPT.sol_flattened.sol deleted file mode 100644 index 46ae29e..0000000 --- a/ChainGPT.sol_flattened.sol +++ /dev/null @@ -1,673 +0,0 @@ - -// File: @openzeppelin/contracts/utils/Context.sol - - -// OpenZeppelin Contracts v4.4.1 (utils/Context.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address) { - return msg.sender; - } - - function _msgData() internal view virtual returns (bytes calldata) { - return msg.data; - } -} - -// File: @openzeppelin/contracts/access/Ownable.sol - - -// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) - -pragma solidity ^0.8.0; - - -/** - * @dev Contract module which provides a basic access control mechanism, where - * there is an account (an owner) that can be granted exclusive access to - * specific functions. - * - * By default, the owner account will be the one that deploys the contract. This - * can later be changed with {transferOwnership}. - * - * This module is used through inheritance. It will make available the modifier - * `onlyOwner`, which can be applied to your functions to restrict their use to - * the owner. - */ -abstract contract Ownable is Context { - address private _owner; - - event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); - - /** - * @dev Initializes the contract setting the deployer as the initial owner. - */ - constructor() { - _transferOwnership(_msgSender()); - } - - /** - * @dev Throws if called by any account other than the owner. - */ - modifier onlyOwner() { - _checkOwner(); - _; - } - - /** - * @dev Returns the address of the current owner. - */ - function owner() public view virtual returns (address) { - return _owner; - } - - /** - * @dev Throws if the sender is not the owner. - */ - function _checkOwner() internal view virtual { - require(owner() == _msgSender(), "Ownable: caller is not the owner"); - } - - /** - * @dev Leaves the contract without owner. It will not be possible to call - * `onlyOwner` functions anymore. Can only be called by the current owner. - * - * NOTE: Renouncing ownership will leave the contract without an owner, - * thereby removing any functionality that is only available to the owner. - */ - function renounceOwnership() public virtual onlyOwner { - _transferOwnership(address(0)); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Can only be called by the current owner. - */ - function transferOwnership(address newOwner) public virtual onlyOwner { - require(newOwner != address(0), "Ownable: new owner is the zero address"); - _transferOwnership(newOwner); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Internal function without access restriction. - */ - function _transferOwnership(address newOwner) internal virtual { - address oldOwner = _owner; - _owner = newOwner; - emit OwnershipTransferred(oldOwner, newOwner); - } -} - -// File: @openzeppelin/contracts/token/ERC20/IERC20.sol - - -// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC20 standard as defined in the EIP. - */ -interface IERC20 { - /** - * @dev Emitted when `value` tokens are moved from one account (`from`) to - * another (`to`). - * - * Note that `value` may be zero. - */ - event Transfer(address indexed from, address indexed to, uint256 value); - - /** - * @dev Emitted when the allowance of a `spender` for an `owner` is set by - * a call to {approve}. `value` is the new allowance. - */ - event Approval(address indexed owner, address indexed spender, uint256 value); - - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by `account`. - */ - function balanceOf(address account) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `to`. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transfer(address to, uint256 amount) external returns (bool); - - /** - * @dev Returns the remaining number of tokens that `spender` will be - * allowed to spend on behalf of `owner` through {transferFrom}. This is - * zero by default. - * - * This value changes when {approve} or {transferFrom} are called. - */ - function allowance(address owner, address spender) external view returns (uint256); - - /** - * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * IMPORTANT: Beware that changing an allowance with this method brings the risk - * that someone may use both the old and the new allowance by unfortunate - * transaction ordering. One possible solution to mitigate this race - * condition is to first reduce the spender's allowance to 0 and set the - * desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * - * Emits an {Approval} event. - */ - function approve(address spender, uint256 amount) external returns (bool); - - /** - * @dev Moves `amount` tokens from `from` to `to` using the - * allowance mechanism. `amount` is then deducted from the caller's - * allowance. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transferFrom( - address from, - address to, - uint256 amount - ) external returns (bool); -} - -// File: @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol - - -// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol) - -pragma solidity ^0.8.0; - - -/** - * @dev Interface for the optional metadata functions from the ERC20 standard. - * - * _Available since v4.1._ - */ -interface IERC20Metadata is IERC20 { - /** - * @dev Returns the name of the token. - */ - function name() external view returns (string memory); - - /** - * @dev Returns the symbol of the token. - */ - function symbol() external view returns (string memory); - - /** - * @dev Returns the decimals places of the token. - */ - function decimals() external view returns (uint8); -} - -// File: @openzeppelin/contracts/token/ERC20/ERC20.sol - - -// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol) - -pragma solidity ^0.8.0; - - - - -/** - * @dev Implementation of the {IERC20} interface. - * - * This implementation is agnostic to the way tokens are created. This means - * that a supply mechanism has to be added in a derived contract using {_mint}. - * For a generic mechanism see {ERC20PresetMinterPauser}. - * - * TIP: For a detailed writeup see our guide - * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How - * to implement supply mechanisms]. - * - * We have followed general OpenZeppelin Contracts guidelines: functions revert - * instead returning `false` on failure. This behavior is nonetheless - * conventional and does not conflict with the expectations of ERC20 - * applications. - * - * Additionally, an {Approval} event is emitted on calls to {transferFrom}. - * This allows applications to reconstruct the allowance for all accounts just - * by listening to said events. Other implementations of the EIP may not emit - * these events, as it isn't required by the specification. - * - * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} - * functions have been added to mitigate the well-known issues around setting - * allowances. See {IERC20-approve}. - */ -contract ERC20 is Context, IERC20, IERC20Metadata { - mapping(address => uint256) private _balances; - - mapping(address => mapping(address => uint256)) private _allowances; - - uint256 private _totalSupply; - - string private _name; - string private _symbol; - - /** - * @dev Sets the values for {name} and {symbol}. - * - * The default value of {decimals} is 18. To select a different value for - * {decimals} you should overload it. - * - * All two of these values are immutable: they can only be set once during - * construction. - */ - constructor(string memory name_, string memory symbol_) { - _name = name_; - _symbol = symbol_; - } - - /** - * @dev Returns the name of the token. - */ - function name() public view virtual override returns (string memory) { - return _name; - } - - /** - * @dev Returns the symbol of the token, usually a shorter version of the - * name. - */ - function symbol() public view virtual override returns (string memory) { - return _symbol; - } - - /** - * @dev Returns the number of decimals used to get its user representation. - * For example, if `decimals` equals `2`, a balance of `505` tokens should - * be displayed to a user as `5.05` (`505 / 10 ** 2`). - * - * Tokens usually opt for a value of 18, imitating the relationship between - * Ether and Wei. This is the value {ERC20} uses, unless this function is - * overridden; - * - * NOTE: This information is only used for _display_ purposes: it in - * no way affects any of the arithmetic of the contract, including - * {IERC20-balanceOf} and {IERC20-transfer}. - */ - function decimals() public view virtual override returns (uint8) { - return 18; - } - - /** - * @dev See {IERC20-totalSupply}. - */ - function totalSupply() public view virtual override returns (uint256) { - return _totalSupply; - } - - /** - * @dev See {IERC20-balanceOf}. - */ - function balanceOf(address account) public view virtual override returns (uint256) { - return _balances[account]; - } - - /** - * @dev See {IERC20-transfer}. - * - * Requirements: - * - * - `to` cannot be the zero address. - * - the caller must have a balance of at least `amount`. - */ - function transfer(address to, uint256 amount) public virtual override returns (bool) { - address owner = _msgSender(); - _transfer(owner, to, amount); - return true; - } - - /** - * @dev See {IERC20-allowance}. - */ - function allowance(address owner, address spender) public view virtual override returns (uint256) { - return _allowances[owner][spender]; - } - - /** - * @dev See {IERC20-approve}. - * - * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on - * `transferFrom`. This is semantically equivalent to an infinite approval. - * - * Requirements: - * - * - `spender` cannot be the zero address. - */ - function approve(address spender, uint256 amount) public virtual override returns (bool) { - address owner = _msgSender(); - _approve(owner, spender, amount); - return true; - } - - /** - * @dev See {IERC20-transferFrom}. - * - * Emits an {Approval} event indicating the updated allowance. This is not - * required by the EIP. See the note at the beginning of {ERC20}. - * - * NOTE: Does not update the allowance if the current allowance - * is the maximum `uint256`. - * - * Requirements: - * - * - `from` and `to` cannot be the zero address. - * - `from` must have a balance of at least `amount`. - * - the caller must have allowance for ``from``'s tokens of at least - * `amount`. - */ - function transferFrom( - address from, - address to, - uint256 amount - ) public virtual override returns (bool) { - address spender = _msgSender(); - _spendAllowance(from, spender, amount); - _transfer(from, to, amount); - return true; - } - - /** - * @dev Atomically increases the allowance granted to `spender` by the caller. - * - * This is an alternative to {approve} that can be used as a mitigation for - * problems described in {IERC20-approve}. - * - * Emits an {Approval} event indicating the updated allowance. - * - * Requirements: - * - * - `spender` cannot be the zero address. - */ - function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { - address owner = _msgSender(); - _approve(owner, spender, allowance(owner, spender) + addedValue); - return true; - } - - /** - * @dev Atomically decreases the allowance granted to `spender` by the caller. - * - * This is an alternative to {approve} that can be used as a mitigation for - * problems described in {IERC20-approve}. - * - * Emits an {Approval} event indicating the updated allowance. - * - * Requirements: - * - * - `spender` cannot be the zero address. - * - `spender` must have allowance for the caller of at least - * `subtractedValue`. - */ - function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { - address owner = _msgSender(); - uint256 currentAllowance = allowance(owner, spender); - require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); - unchecked { - _approve(owner, spender, currentAllowance - subtractedValue); - } - - return true; - } - - /** - * @dev Moves `amount` of tokens from `from` to `to`. - * - * This internal function is equivalent to {transfer}, and can be used to - * e.g. implement automatic token fees, slashing mechanisms, etc. - * - * Emits a {Transfer} event. - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - `from` must have a balance of at least `amount`. - */ - function _transfer( - address from, - address to, - uint256 amount - ) internal virtual { - require(from != address(0), "ERC20: transfer from the zero address"); - require(to != address(0), "ERC20: transfer to the zero address"); - - _beforeTokenTransfer(from, to, amount); - - uint256 fromBalance = _balances[from]; - require(fromBalance >= amount, "ERC20: transfer amount exceeds balance"); - unchecked { - _balances[from] = fromBalance - amount; - // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by - // decrementing then incrementing. - _balances[to] += amount; - } - - emit Transfer(from, to, amount); - - _afterTokenTransfer(from, to, amount); - } - - /** @dev Creates `amount` tokens and assigns them to `account`, increasing - * the total supply. - * - * Emits a {Transfer} event with `from` set to the zero address. - * - * Requirements: - * - * - `account` cannot be the zero address. - */ - function _mint(address account, uint256 amount) internal virtual { - require(account != address(0), "ERC20: mint to the zero address"); - - _beforeTokenTransfer(address(0), account, amount); - - _totalSupply += amount; - unchecked { - // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. - _balances[account] += amount; - } - emit Transfer(address(0), account, amount); - - _afterTokenTransfer(address(0), account, amount); - } - - /** - * @dev Destroys `amount` tokens from `account`, reducing the - * total supply. - * - * Emits a {Transfer} event with `to` set to the zero address. - * - * Requirements: - * - * - `account` cannot be the zero address. - * - `account` must have at least `amount` tokens. - */ - function _burn(address account, uint256 amount) internal virtual { - require(account != address(0), "ERC20: burn from the zero address"); - - _beforeTokenTransfer(account, address(0), amount); - - uint256 accountBalance = _balances[account]; - require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); - unchecked { - _balances[account] = accountBalance - amount; - // Overflow not possible: amount <= accountBalance <= totalSupply. - _totalSupply -= amount; - } - - emit Transfer(account, address(0), amount); - - _afterTokenTransfer(account, address(0), amount); - } - - /** - * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. - * - * This internal function is equivalent to `approve`, and can be used to - * e.g. set automatic allowances for certain subsystems, etc. - * - * Emits an {Approval} event. - * - * Requirements: - * - * - `owner` cannot be the zero address. - * - `spender` cannot be the zero address. - */ - function _approve( - address owner, - address spender, - uint256 amount - ) internal virtual { - require(owner != address(0), "ERC20: approve from the zero address"); - require(spender != address(0), "ERC20: approve to the zero address"); - - _allowances[owner][spender] = amount; - emit Approval(owner, spender, amount); - } - - /** - * @dev Updates `owner` s allowance for `spender` based on spent `amount`. - * - * Does not update the allowance amount in case of infinite allowance. - * Revert if not enough allowance is available. - * - * Might emit an {Approval} event. - */ - function _spendAllowance( - address owner, - address spender, - uint256 amount - ) internal virtual { - uint256 currentAllowance = allowance(owner, spender); - if (currentAllowance != type(uint256).max) { - require(currentAllowance >= amount, "ERC20: insufficient allowance"); - unchecked { - _approve(owner, spender, currentAllowance - amount); - } - } - } - - /** - * @dev Hook that is called before any transfer of tokens. This includes - * minting and burning. - * - * Calling conditions: - * - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * will be transferred to `to`. - * - when `from` is zero, `amount` tokens will be minted for `to`. - * - when `to` is zero, `amount` of ``from``'s tokens will be burned. - * - `from` and `to` are never both zero. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual {} - - /** - * @dev Hook that is called after any transfer of tokens. This includes - * minting and burning. - * - * Calling conditions: - * - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * has been transferred to `to`. - * - when `from` is zero, `amount` tokens have been minted for `to`. - * - when `to` is zero, `amount` of ``from``'s tokens have been burned. - * - `from` and `to` are never both zero. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _afterTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual {} -} - -// File: @openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol - - -// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol) - -pragma solidity ^0.8.0; - - - -/** - * @dev Extension of {ERC20} that allows token holders to destroy both their own - * tokens and those that they have an allowance for, in a way that can be - * recognized off-chain (via event analysis). - */ -abstract contract ERC20Burnable is Context, ERC20 { - /** - * @dev Destroys `amount` tokens from the caller. - * - * See {ERC20-_burn}. - */ - function burn(uint256 amount) public virtual { - _burn(_msgSender(), amount); - } - - /** - * @dev Destroys `amount` tokens from `account`, deducting from the caller's - * allowance. - * - * See {ERC20-_burn} and {ERC20-allowance}. - * - * Requirements: - * - * - the caller must have allowance for ``accounts``'s tokens of at least - * `amount`. - */ - function burnFrom(address account, uint256 amount) public virtual { - _spendAllowance(account, _msgSender(), amount); - _burn(account, amount); - } -} - -// File: ChainGPT.sol - - -pragma solidity ^0.8.9; - - - - -contract ChainGPT is ERC20, ERC20Burnable, Ownable { - constructor() ERC20("ChainGPT", "CGPT") { - _mint(msg.sender, 1000000000 * 10 ** decimals()); - } -} diff --git a/artifcats/ChainGPT.json b/artifcats/ChainGPT.json deleted file mode 100644 index d7c3e63..0000000 --- a/artifcats/ChainGPT.json +++ /dev/null @@ -1,9601 +0,0 @@ -{ - "deploy": { - "VM:-": { - "linkReferences": {}, - "autoDeployLib": true - }, - "main:1": { - "linkReferences": {}, - "autoDeployLib": true - }, - "ropsten:3": { - "linkReferences": {}, - "autoDeployLib": true - }, - "rinkeby:4": { - "linkReferences": {}, - "autoDeployLib": true - }, - "kovan:42": { - "linkReferences": {}, - "autoDeployLib": true - }, - "goerli:5": { - "linkReferences": {}, - "autoDeployLib": true - }, - "Custom": { - "linkReferences": {}, - "autoDeployLib": true - } - }, - "data": { - "bytecode": { - "functionDebugData": { - "@_157": { - "entryPoint": null, - "id": 157, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_23": { - "entryPoint": null, - "id": 23, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_898": { - "entryPoint": null, - "id": 898, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_afterTokenTransfer_698": { - "entryPoint": null, - "id": 698, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_687": { - "entryPoint": 472, - "id": 687, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_mint_516": { - "entryPoint": 274, - "id": 516, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_msgSender_858": { - "entryPoint": 188, - "id": 858, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_transferOwnership_111": { - "entryPoint": 192, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@decimals_187": { - "entryPoint": null, - "id": 187, - "parameterSlots": 0, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 1172, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_exp_helper": { - "entryPoint": 867, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "checked_exp_t_uint256_t_uint8": { - "entryPoint": 1122, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_exp_unsigned": { - "entryPoint": 940, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_mul_t_uint256": { - "entryPoint": 1146, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 559, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 641, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 499, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 845, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 477, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:5092:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:7", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:7" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "201:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "211:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "225:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "228:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "221:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "221:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "211:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "242:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "272:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "278:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "268:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "268:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "246:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "319:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "321:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "335:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "343:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "331:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "331:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "321:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "299:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "292:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "292:26:7" - }, - "nodeType": "YulIf", - "src": "289:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "409:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "430:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "437:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "442:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "433:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "433:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "423:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "423:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "423:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "474:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "477:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "467:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "467:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "467:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "502:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "505:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "495:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "495:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "495:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "365:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "388:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "396:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "385:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "385:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "362:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "362:38:7" - }, - "nodeType": "YulIf", - "src": "359:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "181:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "190:6:7", - "type": "" - } - ], - "src": "146:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "587:65:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "604:1:7", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "607:3:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "597:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "597:14:7" - }, - "nodeType": "YulExpressionStatement", - "src": "597:14:7" - }, - { - "nodeType": "YulAssignment", - "src": "620:26:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "638:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "641:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "628:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "628:18:7" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "620:4:7" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "570:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "578:4:7", - "type": "" - } - ], - "src": "531:121:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "738:464:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "771:425:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "785:11:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "795:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "789:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "816:2:7" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "820:5:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "809:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "809:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "809:17:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "839:31:7", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "861:2:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "865:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "851:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "851:19:7" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "843:4:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "883:57:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "906:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "916:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "923:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "935:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "919:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "919:19:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "912:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "912:27:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "902:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "902:38:7" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "887:11:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "977:23:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "979:19:7", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "994:4:7" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "979:11:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "959:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "971:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "956:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "956:20:7" - }, - "nodeType": "YulIf", - "src": "953:47:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1013:41:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1027:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1037:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1044:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1049:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1040:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1040:12:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1033:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1033:20:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1023:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1023:31:7" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1017:2:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1067:24:7", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "1080:11:7" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "1071:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1165:21:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1174:5:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1181:2:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "1167:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1167:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1167:17:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1115:5:7" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1122:2:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1112:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1112:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1126:26:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1128:22:7", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1141:5:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1148:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1137:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1137:13:7" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1128:5:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1108:3:7", - "statements": [] - }, - "src": "1104:82:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "754:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "759:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "751:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "751:11:7" - }, - "nodeType": "YulIf", - "src": "748:448:7" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "710:5:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "717:3:7", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "722:10:7", - "type": "" - } - ], - "src": "657:545:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1292:81:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1302:65:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1317:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1335:1:7", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1338:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1331:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1331:11:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1348:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1344:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1344:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1327:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1327:24:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1323:29:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1313:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1313:40:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1359:1:7", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1362:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1355:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1355:11:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1310:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1310:57:7" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "1302:4:7" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1269:4:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "1275:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "1283:4:7", - "type": "" - } - ], - "src": "1207:166:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1474:1256:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1484:24:7", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1504:3:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1498:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1498:10:7" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "1488:6:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1551:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1553:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "1553:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1553:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1523:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1539:2:7", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1543:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1535:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1535:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1547:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1531:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1531:18:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1520:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1520:30:7" - }, - "nodeType": "YulIf", - "src": "1517:56:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1626:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1664:4:7" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "1658:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1658:11:7" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "1632:25:7" - }, - "nodeType": "YulFunctionCall", - "src": "1632:38:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1672:6:7" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "1582:43:7" - }, - "nodeType": "YulFunctionCall", - "src": "1582:97:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1582:97:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1688:18:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1705:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "1692:9:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1715:23:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1734:4:7", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "1719:11:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1747:24:7", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "1760:11:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "1747:9:7" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1817:656:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1831:35:7", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1850:6:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1862:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1858:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1858:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1846:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1846:20:7" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "1835:7:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1879:49:7", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1923:4:7" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "1893:29:7" - }, - "nodeType": "YulFunctionCall", - "src": "1893:35:7" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "1883:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1941:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1950:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1945:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2028:172:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2053:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2071:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2076:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2067:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2067:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2061:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2061:26:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2046:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2046:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2046:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "2105:24:7", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2119:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2127:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2115:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2115:14:7" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2105:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2146:40:7", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2163:9:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2174:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2159:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2159:27:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2146:9:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1975:1:7" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "1978:7:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1972:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1972:14:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1987:28:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1989:24:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1998:1:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2001:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1994:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1994:19:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1989:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1968:3:7", - "statements": [] - }, - "src": "1964:236:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2248:166:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2266:43:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2293:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2298:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2289:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2289:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2283:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2283:26:7" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "2270:9:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2333:6:7" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "2345:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2372:1:7", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2375:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2368:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2368:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2384:3:7", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2364:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2364:24:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2394:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2390:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2390:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2360:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2360:37:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2356:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2356:42:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2341:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2341:58:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2326:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2326:74:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2326:74:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "2219:7:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2228:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2216:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2216:19:7" - }, - "nodeType": "YulIf", - "src": "2213:201:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2434:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2448:1:7", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2451:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2444:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2444:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2460:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2440:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2440:22:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2427:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2427:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2427:36:7" - } - ] - }, - "nodeType": "YulCase", - "src": "1810:663:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1815:1:7", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2490:234:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2504:14:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2517:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2508:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2553:67:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2571:35:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2590:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2595:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2586:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2586:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2580:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2580:26:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2571:5:7" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2534:6:7" - }, - "nodeType": "YulIf", - "src": "2531:89:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2640:4:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2699:5:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2706:6:7" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "2646:52:7" - }, - "nodeType": "YulFunctionCall", - "src": "2646:67:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2633:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2633:81:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2633:81:7" - } - ] - }, - "nodeType": "YulCase", - "src": "2482:242:7", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1790:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1798:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1787:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1787:14:7" - }, - "nodeType": "YulSwitch", - "src": "1780:944:7" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "1459:4:7", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1465:3:7", - "type": "" - } - ], - "src": "1378:1352:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2767:95:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2784:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2791:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2796:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2787:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2787:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2777:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2777:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2777:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2824:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2827:4:7", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2817:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2817:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2817:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2848:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2851:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2841:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2841:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2841:15:7" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2735:127:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2931:358:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2941:16:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2956:1:7", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "2945:7:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2966:16:7", - "value": { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2975:7:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2966:5:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2991:13:7", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "2999:5:7" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2991:4:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3055:228:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3100:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3102:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "3102:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3102:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3075:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3089:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3085:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3085:6:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3093:4:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3081:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3081:17:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3072:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3072:27:7" - }, - "nodeType": "YulIf", - "src": "3069:53:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3161:29:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3163:25:7", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3176:5:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3183:4:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3172:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3172:16:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3163:5:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3142:8:7" - }, - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3152:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3138:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3138:22:7" - }, - "nodeType": "YulIf", - "src": "3135:55:7" - }, - { - "nodeType": "YulAssignment", - "src": "3203:23:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3215:4:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3221:4:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3211:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3211:15:7" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3203:4:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3239:34:7", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3255:7:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3264:8:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3251:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3251:22:7" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3239:8:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3024:8:7" - }, - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3034:7:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3021:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3021:21:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3043:3:7", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3017:3:7", - "statements": [] - }, - "src": "3013:270:7" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "2895:5:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "2902:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "2915:5:7", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "2922:4:7", - "type": "" - } - ], - "src": "2867:422:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3353:747:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3391:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3405:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3414:1:7", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3405:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3428:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3373:8:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3366:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3366:16:7" - }, - "nodeType": "YulIf", - "src": "3363:80:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3476:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3490:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3499:1:7", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3490:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3513:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3462:4:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3455:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3455:12:7" - }, - "nodeType": "YulIf", - "src": "3452:76:7" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3564:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3578:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3587:1:7", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3578:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3601:5:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3557:59:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3562:1:7", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3632:123:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3667:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3669:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "3669:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3669:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3652:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3662:3:7", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3649:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3649:17:7" - }, - "nodeType": "YulIf", - "src": "3646:43:7" - }, - { - "nodeType": "YulAssignment", - "src": "3702:25:7", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3715:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3711:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3711:16:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3702:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3740:5:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3625:130:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3630:1:7", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3544:4:7" - }, - "nodeType": "YulSwitch", - "src": "3537:218:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3853:70:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3867:28:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3880:4:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3886:8:7" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "3876:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3876:19:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3867:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3908:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3777:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3783:2:7", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3774:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3774:12:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3791:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3801:2:7", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3788:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3788:16:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3770:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3770:35:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3814:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3820:3:7", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3811:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3811:13:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3829:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3839:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3826:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3826:16:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3807:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3807:36:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3767:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3767:77:7" - }, - "nodeType": "YulIf", - "src": "3764:159:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3932:57:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3974:4:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3980:8:7" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "3955:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "3955:34:7" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "3936:7:7", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "3945:6:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4034:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4036:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4036:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4036:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "4004:7:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4021:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4017:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4017:6:7" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "4025:6:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4013:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4013:19:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4001:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4001:32:7" - }, - "nodeType": "YulIf", - "src": "3998:58:7" - }, - { - "nodeType": "YulAssignment", - "src": "4065:29:7", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "4078:7:7" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "4087:6:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4074:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4074:20:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "4065:5:7" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "3324:4:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "3330:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "3343:5:7", - "type": "" - } - ], - "src": "3294:806:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4173:72:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4183:56:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "4213:4:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "4223:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4233:4:7", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4219:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4219:19:7" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "4192:20:7" - }, - "nodeType": "YulFunctionCall", - "src": "4192:47:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "4183:5:7" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "4144:4:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "4150:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "4163:5:7", - "type": "" - } - ], - "src": "4105:140:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4302:116:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4312:20:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4327:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4330:1:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4323:9:7" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "4312:7:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4390:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4392:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4392:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4392:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4361:1:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4354:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4354:9:7" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4368:1:7" - }, - { - "arguments": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "4375:7:7" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4384:1:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4371:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4371:15:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4365:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4365:22:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4351:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4351:37:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4344:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4344:45:7" - }, - "nodeType": "YulIf", - "src": "4341:71:7" - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4281:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4284:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "4290:7:7", - "type": "" - } - ], - "src": "4250:168:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4597:181:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4614:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4625:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4607:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4607:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4607:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4648:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4659:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4644:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4644:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4664:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4637:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4637:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4637:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4687:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4698:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4683:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4683:18:7" - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4703:33:7", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4676:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4676:61:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4676:61:7" - }, - { - "nodeType": "YulAssignment", - "src": "4746:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4758:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4769:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4754:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4754:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4746:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4574:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4588:4:7", - "type": "" - } - ], - "src": "4423:355:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4831:77:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4841:16:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4852:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4855:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4848:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4848:9:7" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4841:3:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4880:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4882:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4882:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4882:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4872:1:7" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4875:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4869:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4869:10:7" - }, - "nodeType": "YulIf", - "src": "4866:36:7" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4814:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4817:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "4823:3:7", - "type": "" - } - ], - "src": "4783:125:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5014:76:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5024:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5036:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5047:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5032:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5032:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5024:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5066:9:7" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5077:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5059:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5059:25:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5059:25:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4983:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4994:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5005:4:7", - "type": "" - } - ], - "src": "4913:177:7" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_exp_helper(_base, exponent) -> power, base\n {\n let power_1 := 1\n power := power_1\n base := _base\n for { } gt(exponent, power_1) { }\n {\n if gt(base, div(not(0), base)) { panic_error_0x11() }\n if and(exponent, power_1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(power_1, exponent)\n }\n }\n function checked_exp_unsigned(base, exponent) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n leave\n }\n let power_1, base_1 := checked_exp_helper(base, exponent)\n if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, and(exponent, 0xff))\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040518060400160405280600881526020016710da185a5b91d41560c21b8152506040518060400160405280600481526020016310d1d41560e21b815250816003908162000061919062000281565b50600462000070828262000281565b5050506200008d62000087620000bc60201b60201c565b620000c0565b620000b633620000a06012600a62000462565b620000b090633b9aca006200047a565b62000112565b620004aa565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200016d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000181919062000494565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200020857607f821691505b6020821081036200022957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d857600081815260208120601f850160051c81016020861015620002585750805b601f850160051c820191505b81811015620002795782815560010162000264565b505050505050565b81516001600160401b038111156200029d576200029d620001dd565b620002b581620002ae8454620001f3565b846200022f565b602080601f831160018114620002ed5760008415620002d45750858301515b600019600386901b1c1916600185901b17855562000279565b600085815260208120601f198616915b828110156200031e57888601518255948401946001909101908401620002fd565b50858210156200033d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003a45781600019048211156200038857620003886200034d565b808516156200039657918102915b93841c939080029062000368565b509250929050565b600082620003bd575060016200045c565b81620003cc575060006200045c565b8160018114620003e55760028114620003f05762000410565b60019150506200045c565b60ff8411156200040457620004046200034d565b50506001821b6200045c565b5060208310610133831016604e8410600b841016171562000435575081810a6200045c565b62000441838362000363565b80600019048211156200045857620004586200034d565b0290505b92915050565b60006200047360ff841683620003ac565b9392505050565b80820281158282048414176200045c576200045c6200034d565b808201808211156200045c576200045c6200034d565b610ba780620004ba6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461024257600080fd5b8063715018a6146101cb57806379cc6790146101d35780638da5cb5b146101e657806395d89b411461020157600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806342966c681461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610255565b60405161011a91906109d8565b60405180910390f35b610136610131366004610a42565b6102e7565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610a6c565b610301565b6040516012815260200161011a565b610136610188366004610a42565b610325565b6101a061019b366004610aa8565b610347565b005b61014a6101b0366004610ac1565b6001600160a01b031660009081526020819052604090205490565b6101a0610354565b6101a06101e1366004610a42565b610368565b6005546040516001600160a01b03909116815260200161011a565b61010d610381565b610136610217366004610a42565b610390565b61013661022a366004610a42565b610410565b61014a61023d366004610ae3565b61041e565b6101a0610250366004610ac1565b610449565b60606003805461026490610b16565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610b16565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b5050505050905090565b6000336102f58185856104bf565b60019150505b92915050565b60003361030f8582856105e4565b61031a85858561065e565b506001949350505050565b6000336102f5818585610338838361041e565b6103429190610b50565b6104bf565b6103513382610802565b50565b61035c61092c565b6103666000610986565b565b6103738233836105e4565b61037d8282610802565b5050565b60606004805461026490610b16565b6000338161039e828661041e565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61031a82868684036104bf565b6000336102f581858561065e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61045161092c565b6001600160a01b0381166104b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103fa565b61035181610986565b6001600160a01b0383166105215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166105825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105f0848461041e565b90506000198114610658578181101561064b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61065884848484036104bf565b50505050565b6001600160a01b0383166106c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b0383166000908152602081905260409020548181101561079c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610658565b6001600160a01b0382166108625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b038216600090815260208190526040902054818110156108d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105d7565b6005546001600160a01b031633146103665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a05578581018301518582016040015282016109e9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a3d57600080fd5b919050565b60008060408385031215610a5557600080fd5b610a5e83610a26565b946020939093013593505050565b600080600060608486031215610a8157600080fd5b610a8a84610a26565b9250610a9860208501610a26565b9150604084013590509250925092565b600060208284031215610aba57600080fd5b5035919050565b600060208284031215610ad357600080fd5b610adc82610a26565b9392505050565b60008060408385031215610af657600080fd5b610aff83610a26565b9150610b0d60208401610a26565b90509250929050565b600181811c90821680610b2a57607f821691505b602082108103610b4a57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102fb57634e487b7160e01b600052601160045260246000fdfea2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH8 0x10DA185A5B91D415 PUSH1 0xC2 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x10D1D415 PUSH1 0xE2 SHL DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0x281 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x70 DUP3 DUP3 PUSH3 0x281 JUMP JUMPDEST POP POP POP PUSH3 0x8D PUSH3 0x87 PUSH3 0xBC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xC0 JUMP JUMPDEST PUSH3 0xB6 CALLER PUSH3 0xA0 PUSH1 0x12 PUSH1 0xA PUSH3 0x462 JUMP JUMPDEST PUSH3 0xB0 SWAP1 PUSH4 0x3B9ACA00 PUSH3 0x47A JUMP JUMPDEST PUSH3 0x112 JUMP JUMPDEST PUSH3 0x4AA JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x16D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x181 SWAP2 SWAP1 PUSH3 0x494 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x208 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x229 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x1D8 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x258 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x279 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x264 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x29D JUMPI PUSH3 0x29D PUSH3 0x1DD JUMP JUMPDEST PUSH3 0x2B5 DUP2 PUSH3 0x2AE DUP5 SLOAD PUSH3 0x1F3 JUMP JUMPDEST DUP5 PUSH3 0x22F JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x2ED JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x2D4 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x279 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x31E JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x2FD JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x33D JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH3 0x3A4 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH3 0x388 JUMPI PUSH3 0x388 PUSH3 0x34D JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH3 0x396 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH3 0x368 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH3 0x3BD JUMPI POP PUSH1 0x1 PUSH3 0x45C JUMP JUMPDEST DUP2 PUSH3 0x3CC JUMPI POP PUSH1 0x0 PUSH3 0x45C JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x3E5 JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x3F0 JUMPI PUSH3 0x410 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x45C JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x404 JUMPI PUSH3 0x404 PUSH3 0x34D JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH3 0x45C JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x435 JUMPI POP DUP2 DUP2 EXP PUSH3 0x45C JUMP JUMPDEST PUSH3 0x441 DUP4 DUP4 PUSH3 0x363 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH3 0x458 JUMPI PUSH3 0x458 PUSH3 0x34D JUMP JUMPDEST MUL SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x473 PUSH1 0xFF DUP5 AND DUP4 PUSH3 0x3AC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH3 0x45C JUMPI PUSH3 0x45C PUSH3 0x34D JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH3 0x45C JUMPI PUSH3 0x45C PUSH3 0x34D JUMP JUMPDEST PUSH2 0xBA7 DUP1 PUSH3 0x4BA PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x158 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x255 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0xA6C JUMP JUMPDEST PUSH2 0x301 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x325 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xAA8 JUMP JUMPDEST PUSH2 0x347 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14A PUSH2 0x1B0 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x354 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x10D PUSH2 0x381 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x217 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x390 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x22A CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xAE3 JUMP JUMPDEST PUSH2 0x41E JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x250 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH2 0x449 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x30F DUP6 DUP3 DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x31A DUP6 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x338 DUP4 DUP4 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x342 SWAP2 SWAP1 PUSH2 0xB50 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH2 0x351 CALLER DUP3 PUSH2 0x802 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x35C PUSH2 0x92C JUMP JUMPDEST PUSH2 0x366 PUSH1 0x0 PUSH2 0x986 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x373 DUP3 CALLER DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x37D DUP3 DUP3 PUSH2 0x802 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x39E DUP3 DUP7 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x31A DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x451 PUSH2 0x92C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x521 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F0 DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x658 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x64B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x658 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x6C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x79C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x658 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x862 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x5D7 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x366 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA05 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x9E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xA3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5E DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8A DUP5 PUSH2 0xA26 JUMP JUMPDEST SWAP3 POP PUSH2 0xA98 PUSH1 0x20 DUP6 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xADC DUP3 PUSH2 0xA26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAFF DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH2 0xB0D PUSH1 0x20 DUP5 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xB2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xB4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x2C1A7264033A67519F23022E2C375079C74DAB80B9C0 0x49 0x2D 0xC8 0xA9 0xA5 PUSH29 0x332C6364736F6C63430008120033000000000000000000000000000000 ", - "sourceMap": "242:164:6:-:0;;;299:105;;;;;;;;;;1976:113:1;;;;;;;;;;;;;-1:-1:-1;;;1976:113:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1976:113:1;;;2050:5;2042;:13;;;;;;:::i;:::-;-1:-1:-1;2065:7:1;:17;2075:7;2065;:17;:::i;:::-;;1976:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;349:48:6::1;355:10;380:16;3173:2:1::0;380::6::1;:16;:::i;:::-;367:29;::::0;:10:::1;:29;:::i;:::-;349:5;:48::i;:::-;242:164:::0;;640:96:5;719:10;;640:96::o;2433:187:0:-;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;8567:535:1:-;-1:-1:-1;;;;;8650:21:1;;8642:65;;;;-1:-1:-1;;;8642:65:1;;4625:2:7;8642:65:1;;;4607:21:7;4664:2;4644:18;;;4637:30;4703:33;4683:18;;;4676:61;4754:18;;8642:65:1;;;;;;;;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:1;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;5059:25:7;;;8999:37:1;;5032:18:7;8999:37:1;;;;;;;8567:535;;:::o;12180:121::-;;;;:::o;14:127:7:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:7;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:7;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:7;;;2580:26;2531:89;-1:-1:-1;;1335:1:7;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:7;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:7;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:7;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:7:o;2735:127::-;2796:10;2791:3;2787:20;2784:1;2777:31;2827:4;2824:1;2817:15;2851:4;2848:1;2841:15;2867:422;2956:1;2999:5;2956:1;3013:270;3034:7;3024:8;3021:21;3013:270;;;3093:4;3089:1;3085:6;3081:17;3075:4;3072:27;3069:53;;;3102:18;;:::i;:::-;3152:7;3142:8;3138:22;3135:55;;;3172:16;;;;3135:55;3251:22;;;;3211:15;;;;3013:270;;;3017:3;2867:422;;;;;:::o;3294:806::-;3343:5;3373:8;3363:80;;-1:-1:-1;3414:1:7;3428:5;;3363:80;3462:4;3452:76;;-1:-1:-1;3499:1:7;3513:5;;3452:76;3544:4;3562:1;3557:59;;;;3630:1;3625:130;;;;3537:218;;3557:59;3587:1;3578:10;;3601:5;;;3625:130;3662:3;3652:8;3649:17;3646:43;;;3669:18;;:::i;:::-;-1:-1:-1;;3725:1:7;3711:16;;3740:5;;3537:218;;3839:2;3829:8;3826:16;3820:3;3814:4;3811:13;3807:36;3801:2;3791:8;3788:16;3783:2;3777:4;3774:12;3770:35;3767:77;3764:159;;;-1:-1:-1;3876:19:7;;;3908:5;;3764:159;3955:34;3980:8;3974:4;3955:34;:::i;:::-;4025:6;4021:1;4017:6;4013:19;4004:7;4001:32;3998:58;;;4036:18;;:::i;:::-;4074:20;;-1:-1:-1;3294:806:7;;;;;:::o;4105:140::-;4163:5;4192:47;4233:4;4223:8;4219:19;4213:4;4192:47;:::i;:::-;4183:56;4105:140;-1:-1:-1;;;4105:140:7:o;4250:168::-;4323:9;;;4354;;4371:15;;;4365:22;;4351:37;4341:71;;4392:18;;:::i;4783:125::-;4848:9;;;4869:10;;;4866:36;;;4882:18;;:::i;4913:177::-;242:164:6;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_afterTokenTransfer_698": { - "entryPoint": null, - "id": 698, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_approve_633": { - "entryPoint": 1215, - "id": 633, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_687": { - "entryPoint": null, - "id": 687, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_burn_588": { - "entryPoint": 2050, - "id": 588, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_checkOwner_54": { - "entryPoint": 2348, - "id": 54, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_msgSender_858": { - "entryPoint": null, - "id": 858, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_spendAllowance_676": { - "entryPoint": 1508, - "id": 676, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_transferOwnership_111": { - "entryPoint": 2438, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_transfer_459": { - "entryPoint": 1630, - "id": 459, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_254": { - "entryPoint": 1054, - "id": 254, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@approve_279": { - "entryPoint": 743, - "id": 279, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_211": { - "entryPoint": null, - "id": 211, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@burnFrom_820": { - "entryPoint": 872, - "id": 820, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@burn_799": { - "entryPoint": 839, - "id": 799, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@decimals_187": { - "entryPoint": null, - "id": 187, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@decreaseAllowance_382": { - "entryPoint": 912, - "id": 382, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@increaseAllowance_341": { - "entryPoint": 805, - "id": 341, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@name_167": { - "entryPoint": 597, - "id": 167, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@owner_40": { - "entryPoint": null, - "id": 40, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@renounceOwnership_68": { - "entryPoint": 852, - "id": 68, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@symbol_177": { - "entryPoint": 897, - "id": 177, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@totalSupply_197": { - "entryPoint": null, - "id": 197, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@transferFrom_312": { - "entryPoint": 769, - "id": 312, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transferOwnership_91": { - "entryPoint": 1097, - "id": 91, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@transfer_236": { - "entryPoint": 1040, - "id": 236, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 2598, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 2753, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 2787, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 2668, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 2626, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 2728, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2520, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 2896, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 2838, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:7720:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "135:427:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "145:12:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "155:2:7", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "149:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "173:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "184:2:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "166:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "166:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "166:21:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "196:27:7", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "216:6:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "210:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "210:13:7" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "200:6:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "243:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "254:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "239:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "239:18:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "259:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "232:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "232:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "232:34:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "275:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "284:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "279:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "344:90:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "373:9:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "384:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "369:17:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "365:26:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "407:6:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "415:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "403:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "403:14:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "419:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "399:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "399:23:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "393:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "393:30:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "358:66:7" - }, - "nodeType": "YulExpressionStatement", - "src": "358:66:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "305:1:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "308:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "302:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "302:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "316:19:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "318:15:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "330:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "323:10:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "318:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "298:3:7", - "statements": [] - }, - "src": "294:140:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "458:9:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "469:6:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "454:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "454:22:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "478:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "450:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "450:31:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "483:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "443:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "443:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "443:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "494:62:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "510:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "529:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "537:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "525:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "525:15:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "546:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "542:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "542:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "521:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "521:29:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "506:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "506:45:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "553:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "502:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "502:54:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "494:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "104:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "115:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "126:4:7", - "type": "" - } - ], - "src": "14:548:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "616:124:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "626:29:7", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "648:6:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "635:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "635:20:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "626:5:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "718:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "727:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "730:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "720:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "720:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "720:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "677:5:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "688:5:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "703:3:7", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "708:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "699:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "699:11:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "712:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "695:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "695:19:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "684:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "684:31:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "674:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "674:42:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "667:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "667:50:7" - }, - "nodeType": "YulIf", - "src": "664:70:7" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "595:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "606:5:7", - "type": "" - } - ], - "src": "567:173:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "832:167:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "878:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "887:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "890:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "880:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "880:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "880:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "853:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "862:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "849:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "849:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "874:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "845:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "845:32:7" - }, - "nodeType": "YulIf", - "src": "842:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "903:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "932:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "913:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "913:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "903:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "951:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "978:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "974:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "974:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "961:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "961:32:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "951:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "790:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "801:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "813:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "821:6:7", - "type": "" - } - ], - "src": "745:254:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1099:92:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1109:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1121:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1132:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1117:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1117:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1109:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1151:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1176:6:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1169:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1169:14:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1162:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1162:22:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1144:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1144:41:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1144:41:7" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1068:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1079:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1090:4:7", - "type": "" - } - ], - "src": "1004:187:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1297:76:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1307:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1319:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1330:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1315:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1315:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1307:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1349:9:7" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1360:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1342:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1342:25:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1342:25:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1266:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1277:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1288:4:7", - "type": "" - } - ], - "src": "1196:177:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1482:224:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1528:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1537:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1540:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1530:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1530:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1530:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1503:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1512:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1499:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1499:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1524:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1495:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1495:32:7" - }, - "nodeType": "YulIf", - "src": "1492:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "1553:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1582:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1563:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1563:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1553:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1601:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1634:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1645:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1630:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1630:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1611:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1611:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1601:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1658:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1685:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1696:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1681:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1681:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1668:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "1668:32:7" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1658:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1432:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1443:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1455:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1463:6:7", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1471:6:7", - "type": "" - } - ], - "src": "1378:328:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1808:87:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1818:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1830:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1841:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1826:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1826:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1818:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1860:9:7" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1875:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1883:4:7", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1871:17:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1853:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1853:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1853:36:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1777:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1788:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1799:4:7", - "type": "" - } - ], - "src": "1711:184:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1970:110:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2016:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2025:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2028:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2018:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2018:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2018:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1991:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2000:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1987:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1987:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2012:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1983:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1983:32:7" - }, - "nodeType": "YulIf", - "src": "1980:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2041:33:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2064:9:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2051:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "2051:23:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2041:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1936:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1947:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1959:6:7", - "type": "" - } - ], - "src": "1900:180:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2155:116:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2201:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2210:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2213:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2203:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2203:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2203:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2176:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2185:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2172:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2172:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2197:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2168:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2168:32:7" - }, - "nodeType": "YulIf", - "src": "2165:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2226:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2255:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2236:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2236:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2226:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2121:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2132:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2144:6:7", - "type": "" - } - ], - "src": "2085:186:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2377:102:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2387:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2399:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2410:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2395:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2395:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2387:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2429:9:7" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2444:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2460:3:7", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2465:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2456:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2456:11:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2469:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2452:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2452:19:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2440:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2440:32:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2422:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2422:51:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2422:51:7" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2346:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2357:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2368:4:7", - "type": "" - } - ], - "src": "2276:203:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2571:173:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2617:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2626:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2629:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2619:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2619:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2619:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2592:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2601:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2588:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2588:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2613:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2584:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2584:32:7" - }, - "nodeType": "YulIf", - "src": "2581:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2642:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2671:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2652:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2652:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2642:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2690:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2723:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2734:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2719:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2719:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2700:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2700:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2690:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2529:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2540:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2552:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2560:6:7", - "type": "" - } - ], - "src": "2484:260:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2804:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2814:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2828:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2831:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2824:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2824:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2814:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2845:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2875:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2881:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2871:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2849:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2922:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2924:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2938:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2946:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2934:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2934:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2924:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2902:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2895:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2895:26:7" - }, - "nodeType": "YulIf", - "src": "2892:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3012:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3033:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3040:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3045:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3036:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3036:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3026:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3026:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3026:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3077:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3080:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3070:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3070:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3070:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3105:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3108:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3098:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3098:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3098:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2968:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2991:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2999:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2988:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2988:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2965:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2965:38:7" - }, - "nodeType": "YulIf", - "src": "2962:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2784:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2793:6:7", - "type": "" - } - ], - "src": "2749:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3182:174:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3192:16:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3203:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3206:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3199:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3199:9:7" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "3192:3:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3239:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3260:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3267:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3272:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3263:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3263:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3253:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3253:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3253:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3304:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3307:4:7", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3297:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3297:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3297:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3332:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3335:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3325:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3325:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3325:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3223:1:7" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "3226:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3220:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3220:10:7" - }, - "nodeType": "YulIf", - "src": "3217:133:7" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "3165:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "3168:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "3174:3:7", - "type": "" - } - ], - "src": "3134:222:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3535:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3552:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3563:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3545:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3545:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3545:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3586:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3597:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3582:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3582:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3602:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3575:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3575:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3575:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3625:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3636:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3621:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3621:18:7" - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3641:34:7", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3614:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3614:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3614:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3696:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3707:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3692:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3692:18:7" - }, - { - "hexValue": "207a65726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3712:7:7", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3685:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3685:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3685:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "3729:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3741:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3752:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3737:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3737:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3729:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3512:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3526:4:7", - "type": "" - } - ], - "src": "3361:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3941:228:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3958:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3969:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3951:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3951:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3951:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3992:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4003:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3988:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3988:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4008:2:7", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3981:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3981:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3981:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4031:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4042:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4027:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4027:18:7" - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4047:34:7", - "type": "", - "value": "Ownable: new owner is the zero a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4020:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4020:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4020:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4102:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4113:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4098:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4098:18:7" - }, - { - "hexValue": "646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4118:8:7", - "type": "", - "value": "ddress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4091:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4091:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4091:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "4136:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4148:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4159:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4144:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4144:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4136:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3918:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3932:4:7", - "type": "" - } - ], - "src": "3767:402:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4348:226:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4365:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4376:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4358:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4358:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4358:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4399:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4410:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4395:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4395:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4415:2:7", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4388:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4388:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4388:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4438:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4449:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4434:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4434:18:7" - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4454:34:7", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4427:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4427:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4427:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4509:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4520:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4505:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4505:18:7" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4525:6:7", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4498:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4498:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4498:34:7" - }, - { - "nodeType": "YulAssignment", - "src": "4541:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4553:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4564:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4549:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4549:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4541:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4325:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4339:4:7", - "type": "" - } - ], - "src": "4174:400:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4753:224:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4770:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4781:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4763:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4763:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4763:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4804:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4815:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4800:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4800:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4820:2:7", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4793:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4793:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4793:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4843:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4854:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4839:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4839:18:7" - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4859:34:7", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4832:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4832:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4832:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4914:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4925:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4910:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4910:18:7" - }, - { - "hexValue": "7373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4930:4:7", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4903:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4903:32:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4903:32:7" - }, - { - "nodeType": "YulAssignment", - "src": "4944:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4956:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4967:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4952:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4952:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4944:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4730:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4744:4:7", - "type": "" - } - ], - "src": "4579:398:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5156:179:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5173:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5184:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5166:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5166:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5166:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5207:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5218:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5203:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5223:2:7", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5196:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5196:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5196:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5246:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5257:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5242:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5242:18:7" - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5262:31:7", - "type": "", - "value": "ERC20: insufficient allowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5235:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5235:59:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5235:59:7" - }, - { - "nodeType": "YulAssignment", - "src": "5303:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5315:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5326:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5311:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5311:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5303:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5133:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5147:4:7", - "type": "" - } - ], - "src": "4982:353:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5514:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5531:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5542:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5524:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5524:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5524:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5565:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5576:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5561:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5561:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5581:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5554:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5554:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5554:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5604:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5615:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5600:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5600:18:7" - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5620:34:7", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5593:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5593:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5593:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5675:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5686:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5671:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5671:18:7" - }, - { - "hexValue": "6472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5691:7:7", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5664:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5664:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5664:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "5708:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5720:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5731:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5716:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5716:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5708:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5491:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5505:4:7", - "type": "" - } - ], - "src": "5340:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5920:225:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5937:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5948:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5930:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5930:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5930:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5971:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5982:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5967:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5967:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5987:2:7", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5960:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5960:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5960:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6010:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6021:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6006:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6006:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6026:34:7", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5999:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5999:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5999:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6081:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6092:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6077:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6077:18:7" - }, - { - "hexValue": "657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6097:5:7", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6070:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6070:33:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6070:33:7" - }, - { - "nodeType": "YulAssignment", - "src": "6112:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6124:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6135:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6120:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6120:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6112:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5897:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5911:4:7", - "type": "" - } - ], - "src": "5746:399:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6324:228:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6341:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6352:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6334:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6334:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6334:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6375:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6386:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6371:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6371:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6391:2:7", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6364:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6364:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6364:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6414:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6425:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6410:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6410:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6430:34:7", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6403:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6403:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6403:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6485:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6496:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6481:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6481:18:7" - }, - { - "hexValue": "616c616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6501:8:7", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6474:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6474:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6474:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "6519:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6531:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6542:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6527:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6527:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6519:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6301:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6315:4:7", - "type": "" - } - ], - "src": "6150:402:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6731:223:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6748:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6759:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6741:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6741:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6741:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6782:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6793:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6778:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6778:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6798:2:7", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6771:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6771:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6771:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6821:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6832:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6817:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6817:18:7" - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6837:34:7", - "type": "", - "value": "ERC20: burn from the zero addres" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6810:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6810:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6810:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6892:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6903:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6888:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6888:18:7" - }, - { - "hexValue": "73", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6908:3:7", - "type": "", - "value": "s" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6881:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6881:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6881:31:7" - }, - { - "nodeType": "YulAssignment", - "src": "6921:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6933:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6944:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6929:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6929:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6921:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6708:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6722:4:7", - "type": "" - } - ], - "src": "6557:397:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7133:224:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7150:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7161:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7143:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7143:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7143:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7184:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7195:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7180:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7180:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7200:2:7", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7173:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7173:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7173:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7223:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7234:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7219:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7219:18:7" - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7239:34:7", - "type": "", - "value": "ERC20: burn amount exceeds balan" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7212:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7212:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7212:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7294:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7305:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7290:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7290:18:7" - }, - { - "hexValue": "6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7310:4:7", - "type": "", - "value": "ce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7283:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7283:32:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7283:32:7" - }, - { - "nodeType": "YulAssignment", - "src": "7324:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7336:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7347:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7332:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7332:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7324:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7110:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7124:4:7", - "type": "" - } - ], - "src": "6959:398:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7536:182:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7553:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7564:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7546:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7546:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7546:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7587:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7598:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7583:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7583:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7603:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7576:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7576:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7576:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7626:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7637:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7622:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7622:18:7" - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7642:34:7", - "type": "", - "value": "Ownable: caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7615:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7615:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7615:62:7" - }, - { - "nodeType": "YulAssignment", - "src": "7686:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7698:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7709:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7694:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7694:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7686:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7513:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7527:4:7", - "type": "" - } - ], - "src": "7362:356:7" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461024257600080fd5b8063715018a6146101cb57806379cc6790146101d35780638da5cb5b146101e657806395d89b411461020157600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806342966c681461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610255565b60405161011a91906109d8565b60405180910390f35b610136610131366004610a42565b6102e7565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610a6c565b610301565b6040516012815260200161011a565b610136610188366004610a42565b610325565b6101a061019b366004610aa8565b610347565b005b61014a6101b0366004610ac1565b6001600160a01b031660009081526020819052604090205490565b6101a0610354565b6101a06101e1366004610a42565b610368565b6005546040516001600160a01b03909116815260200161011a565b61010d610381565b610136610217366004610a42565b610390565b61013661022a366004610a42565b610410565b61014a61023d366004610ae3565b61041e565b6101a0610250366004610ac1565b610449565b60606003805461026490610b16565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610b16565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b5050505050905090565b6000336102f58185856104bf565b60019150505b92915050565b60003361030f8582856105e4565b61031a85858561065e565b506001949350505050565b6000336102f5818585610338838361041e565b6103429190610b50565b6104bf565b6103513382610802565b50565b61035c61092c565b6103666000610986565b565b6103738233836105e4565b61037d8282610802565b5050565b60606004805461026490610b16565b6000338161039e828661041e565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61031a82868684036104bf565b6000336102f581858561065e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61045161092c565b6001600160a01b0381166104b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103fa565b61035181610986565b6001600160a01b0383166105215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166105825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105f0848461041e565b90506000198114610658578181101561064b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61065884848484036104bf565b50505050565b6001600160a01b0383166106c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b0383166000908152602081905260409020548181101561079c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610658565b6001600160a01b0382166108625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b038216600090815260208190526040902054818110156108d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105d7565b6005546001600160a01b031633146103665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a05578581018301518582016040015282016109e9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a3d57600080fd5b919050565b60008060408385031215610a5557600080fd5b610a5e83610a26565b946020939093013593505050565b600080600060608486031215610a8157600080fd5b610a8a84610a26565b9250610a9860208501610a26565b9150604084013590509250925092565b600060208284031215610aba57600080fd5b5035919050565b600060208284031215610ad357600080fd5b610adc82610a26565b9392505050565b60008060408385031215610af657600080fd5b610aff83610a26565b9150610b0d60208401610a26565b90509250929050565b600181811c90821680610b2a57607f821691505b602082108103610b4a57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102fb57634e487b7160e01b600052601160045260246000fdfea2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x158 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x255 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0xA6C JUMP JUMPDEST PUSH2 0x301 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x325 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xAA8 JUMP JUMPDEST PUSH2 0x347 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14A PUSH2 0x1B0 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x354 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x10D PUSH2 0x381 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x217 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x390 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x22A CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xAE3 JUMP JUMPDEST PUSH2 0x41E JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x250 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH2 0x449 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x30F DUP6 DUP3 DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x31A DUP6 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x338 DUP4 DUP4 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x342 SWAP2 SWAP1 PUSH2 0xB50 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH2 0x351 CALLER DUP3 PUSH2 0x802 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x35C PUSH2 0x92C JUMP JUMPDEST PUSH2 0x366 PUSH1 0x0 PUSH2 0x986 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x373 DUP3 CALLER DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x37D DUP3 DUP3 PUSH2 0x802 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x39E DUP3 DUP7 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x31A DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x451 PUSH2 0x92C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x521 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F0 DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x658 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x64B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x658 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x6C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x79C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x658 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x862 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x5D7 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x366 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA05 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x9E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xA3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5E DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8A DUP5 PUSH2 0xA26 JUMP JUMPDEST SWAP3 POP PUSH2 0xA98 PUSH1 0x20 DUP6 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xADC DUP3 PUSH2 0xA26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAFF DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH2 0xB0D PUSH1 0x20 DUP5 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xB2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xB4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x2C1A7264033A67519F23022E2C375079C74DAB80B9C0 0x49 0x2D 0xC8 0xA9 0xA5 PUSH29 0x332C6364736F6C63430008120033000000000000000000000000000000 ", - "sourceMap": "242:164:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:7;;1162:22;1144:41;;1132:2;1117:18;4431:197:1;1004:187:7;3242:106:1;3329:12;;3242:106;;;1342:25:7;;;1330:2;1315:18;3242:106:1;1196:177:7;5190:286:1;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1853:36:7;;1841:2;1826:18;3091:91:1;1711:184:7;5871:234:1;;;;;;:::i;:::-;;:::i;578:89:3:-;;;;;;:::i;:::-;;:::i;:::-;;3406:125:1;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:1;3480:7;3506:18;;;;;;;;;;;;3406:125;1831:101:0;;;:::i;973:161:3:-;;;;;;:::i;:::-;;:::i;1201:85:0:-;1273:6;;1201:85;;-1:-1:-1;;;;;1273:6:0;;;2422:51:7;;2410:2;2395:18;1201:85:0;2276:203:7;2365:102:1;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2081:198:0:-;;;;;;:::i;:::-;;:::i;2154:98:1:-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:5;4568:32:1;719:10:5;4584:7:1;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:5;5373:38:1;5389:4;719:10:5;5404:6:1;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:1;;5190:286;-1:-1:-1;;;;5190:286:1:o;5871:234::-;5959:4;719:10:5;6013:64:1;719:10:5;6029:7:1;6066:10;6038:25;719:10:5;6029:7:1;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;578:89:3:-;633:27;719:10:5;653:6:3;633:5;:27::i;:::-;578:89;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;973:161:3:-;1049:46;1065:7;719:10:5;1088:6:3;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;2365:102:1:-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:5;6685:4:1;6766:25;719:10:5;6783:7:1;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:1;;3563:2:7;6801:85:1;;;3545:21:7;3602:2;3582:18;;;3575:30;3641:34;3621:18;;;3614:62;-1:-1:-1;;;3692:18:7;;;3685:35;3737:19;;6801:85:1;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:5;3860:28:1;719:10:5;3877:2:1;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:1;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;2081:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;3969:2:7;2161:73:0::1;::::0;::::1;3951:21:7::0;4008:2;3988:18;;;3981:30;4047:34;4027:18;;;4020:62;-1:-1:-1;;;4098:18:7;;;4091:36;4144:19;;2161:73:0::1;3767:402:7::0;2161:73:0::1;2244:28;2263:8;2244:18;:28::i;10504:370:1:-:0;-1:-1:-1;;;;;10635:19:1;;10627:68;;;;-1:-1:-1;;;10627:68:1;;4376:2:7;10627:68:1;;;4358:21:7;4415:2;4395:18;;;4388:30;4454:34;4434:18;;;4427:62;-1:-1:-1;;;4505:18:7;;;4498:34;4549:19;;10627:68:1;4174:400:7;10627:68:1;-1:-1:-1;;;;;10713:21:1;;10705:68;;;;-1:-1:-1;;;10705:68:1;;4781:2:7;10705:68:1;;;4763:21:7;4820:2;4800:18;;;4793:30;4859:34;4839:18;;;4832:62;-1:-1:-1;;;4910:18:7;;;4903:32;4952:19;;10705:68:1;4579:398:7;10705:68:1;-1:-1:-1;;;;;10784:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1342:25:7;;;10835:32:1;;1315:18:7;10835:32:1;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:1;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:1;;5184:2:7;11404:68:1;;;5166:21:7;5223:2;5203:18;;;5196:30;5262:31;5242:18;;;5235:59;5311:18;;11404:68:1;4982:353:7;11404:68:1;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:1;;7591:68;;;;-1:-1:-1;;;7591:68:1;;5542:2:7;7591:68:1;;;5524:21:7;5581:2;5561:18;;;5554:30;5620:34;5600:18;;;5593:62;-1:-1:-1;;;5671:18:7;;;5664:35;5716:19;;7591:68:1;5340:401:7;7591:68:1;-1:-1:-1;;;;;7677:16:1;;7669:64;;;;-1:-1:-1;;;7669:64:1;;5948:2:7;7669:64:1;;;5930:21:7;5987:2;5967:18;;;5960:30;6026:34;6006:18;;;5999:62;-1:-1:-1;;;6077:18:7;;;6070:33;6120:19;;7669:64:1;5746:399:7;7669:64:1;-1:-1:-1;;;;;7815:15:1;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:1;;6352:2:7;7840:72:1;;;6334:21:7;6391:2;6371:18;;;6364:30;6430:34;6410:18;;;6403:62;-1:-1:-1;;;6481:18:7;;;6474:36;6527:19;;7840:72:1;6150:402:7;7840:72:1;-1:-1:-1;;;;;7946:15:1;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1342:25:7;;;8161:13:1;;8210:26;;1315:18:7;8210:26:1;;;;;;;8247:37;9422:659;;-1:-1:-1;;;;;9505:21:1;;9497:67;;;;-1:-1:-1;;;9497:67:1;;6759:2:7;9497:67:1;;;6741:21:7;6798:2;6778:18;;;6771:30;6837:34;6817:18;;;6810:62;-1:-1:-1;;;6888:18:7;;;6881:31;6929:19;;9497:67:1;6557:397:7;9497:67:1;-1:-1:-1;;;;;9660:18:1;;9635:22;9660:18;;;;;;;;;;;9696:24;;;;9688:71;;;;-1:-1:-1;;;9688:71:1;;7161:2:7;9688:71:1;;;7143:21:7;7200:2;7180:18;;;7173:30;7239:34;7219:18;;;7212:62;-1:-1:-1;;;7290:18:7;;;7283:32;7332:19;;9688:71:1;6959:398:7;9688:71:1;-1:-1:-1;;;;;9793:18:1;;:9;:18;;;;;;;;;;;9814:23;;;9793:44;;9930:12;:22;;;;;;;9978:37;1342:25:7;;;9793:9:1;;:18;9978:37;;1315:18:7;9978:37:1;1196:177:7;1359:130:0;1273:6;;-1:-1:-1;;;;;1273:6:0;719:10:5;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;7564:2:7;1414:68:0;;;7546:21:7;;;7583:18;;;7576:30;7642:34;7622:18;;;7615:62;7694:18;;1414:68:0;7362:356:7;2433:187:0;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;14:548:7:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:7;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:7:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:7;;1900:180;-1:-1:-1;1900:180:7:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;:::-;2226:39;2085:186;-1:-1:-1;;;2085:186:7:o;2484:260::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2652:29;2671:9;2652:29;:::i;:::-;2642:39;;2700:38;2734:2;2723:9;2719:18;2700:38;:::i;:::-;2690:48;;2484:260;;;;;:::o;2749:380::-;2828:1;2824:12;;;;2871;;;2892:61;;2946:4;2938:6;2934:17;2924:27;;2892:61;2999:2;2991:6;2988:14;2968:18;2965:38;2962:161;;3045:10;3040:3;3036:20;3033:1;3026:31;3080:4;3077:1;3070:15;3108:4;3105:1;3098:15;2962:161;;2749:380;;;:::o;3134:222::-;3199:9;;;3220:10;;;3217:133;;;3272:10;3267:3;3263:20;3260:1;3253:31;3307:4;3304:1;3297:15;3335:4;3332:1;3325:15" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "596600", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "allowance(address,address)": "infinite", - "approve(address,uint256)": "24652", - "balanceOf(address)": "2629", - "burn(uint256)": "50827", - "burnFrom(address,uint256)": "infinite", - "decimals()": "200", - "decreaseAllowance(address,uint256)": "26973", - "increaseAllowance(address,uint256)": "infinite", - "name()": "infinite", - "owner()": "2368", - "renounceOwnership()": "infinite", - "symbol()": "infinite", - "totalSupply()": "2349", - "transfer(address,uint256)": "51094", - "transferFrom(address,address,uint256)": "infinite", - "transferOwnership(address)": "28424" - } - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ] -} diff --git a/artifcats/ChainGPT_metadata.json b/artifcats/ChainGPT_metadata.json deleted file mode 100644 index 659d43d..0000000 --- a/artifcats/ChainGPT_metadata.json +++ /dev/null @@ -1,509 +0,0 @@ -{ - "compiler": { - "version": "0.8.18+commit.87f61d96" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "compilationTarget": { - "ChainGPT.sol": "ChainGPT" - }, - "evmVersion": "paris", - "libraries": {}, - "metadata": { - "bytecodeHash": "ipfs" - }, - "optimizer": { - "enabled": true, - "runs": 200 - }, - "remappings": [] - }, - "sources": { - "@openzeppelin/contracts/access/Ownable.sol": { - "keccak256": "0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673", - "license": "MIT", - "urls": [ - "bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2", - "dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y" - ] - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d", - "license": "MIT", - "urls": [ - "bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d", - "dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH" - ] - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b", - "license": "MIT", - "urls": [ - "bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34", - "dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr" - ] - }, - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { - "keccak256": "0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b", - "license": "MIT", - "urls": [ - "bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f", - "dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe" - ] - }, - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "license": "MIT", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ] - }, - "@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "license": "MIT", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ] - }, - "ChainGPT.sol": { - "keccak256": "0xc51edc07a5d532bab11fd26823bd70b9d41d5d40595d15e6f60f06d4ce1d22b6", - "license": "MIT", - "urls": [ - "bzz-raw://ea3653c8fc762933c2aac0f3e8c507c9954d301df2762c4c7f75bfd0143d6e11", - "dweb:/ipfs/QmT5L7Y6Cs4G3tBU5Mq6KzFFHe7gjoa3d5KKNyk2HDEfHN" - ] - } - }, - "version": 1 -} diff --git a/artifcats/build-info/3c8d2d39e478be63f86f987c03ca34a1.json b/artifcats/build-info/3c8d2d39e478be63f86f987c03ca34a1.json deleted file mode 100644 index 337ff5d..0000000 --- a/artifcats/build-info/3c8d2d39e478be63f86f987c03ca34a1.json +++ /dev/null @@ -1,58740 +0,0 @@ -{ - "id": "3c8d2d39e478be63f86f987c03ca34a1", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.18", - "solcLongVersion": "0.8.18+commit.87f61d96", - "input": { - "language": "Solidity", - "sources": { - "ChainGPT.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.9;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract ChainGPT is ERC20, ERC20Burnable, Ownable {\n constructor() ERC20(\"ChainGPT\", \"CGPT\") {\n _mint(msg.sender, 1000000000 * 10 ** decimals());\n }\n}" - }, - "@openzeppelin/contracts/access/Ownable.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n /**\n * @dev Destroys `amount` tokens from the caller.\n *\n * See {ERC20-_burn}.\n */\n function burn(uint256 amount) public virtual {\n _burn(_msgSender(), amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, deducting from the caller's\n * allowance.\n *\n * See {ERC20-_burn} and {ERC20-allowance}.\n *\n * Requirements:\n *\n * - the caller must have allowance for ``accounts``'s tokens of at least\n * `amount`.\n */\n function burnFrom(address account, uint256 amount) public virtual {\n _spendAllowance(account, _msgSender(), amount);\n _burn(account, amount);\n }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, allowance(owner, spender) + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = allowance(owner, spender);\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by\n // decrementing then incrementing.\n _balances[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n unchecked {\n // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.\n _balances[account] += amount;\n }\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n // Overflow not possible: amount <= accountBalance <= totalSupply.\n _totalSupply -= amount;\n }\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n" - }, - "@openzeppelin/contracts/utils/Context.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n" - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n" - } - }, - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "": [ - "ast" - ], - "*": [ - "abi", - "metadata", - "devdoc", - "userdoc", - "storageLayout", - "evm.legacyAssembly", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "evm.gasEstimates", - "evm.assembly" - ] - } - } - } - }, - "output": { - "contracts": { - "@openzeppelin/contracts/access/Ownable.sol": { - "Ownable": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", - "kind": "dev", - "methods": { - "constructor": { - "details": "Initializes the contract setting the deployer as the initial owner." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 7, - "contract": "@openzeppelin/contracts/access/Ownable.sol:Ownable", - "label": "_owner", - "offset": 0, - "slot": "0", - "type": "t_address" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "evm": { - "assembly": " /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1401:13011 contract ERC20 is Context, IERC20, IERC20Metadata {... */\n mstore(0x40, 0x80)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1976:2089 constructor(string memory name_, string memory symbol_) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n add\n 0x40\n dup2\n swap1\n mstore\n tag_2\n swap2\n tag_3\n jump\t// in\ntag_2:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2047 _name */\n 0x03\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2055 _name = name_ */\n tag_6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2050:2055 name_ */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2047 _name */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2055 _name = name_ */\n tag_7\n jump\t// in\ntag_6:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2072 _symbol */\n 0x04\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2082 _symbol = symbol_ */\n tag_8\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2075:2082 symbol_ */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2072 _symbol */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2082 _symbol = symbol_ */\n tag_7\n jump\t// in\ntag_8:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1976:2089 constructor(string memory name_, string memory symbol_) {... */\n pop\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1401:13011 contract ERC20 is Context, IERC20, IERC20Metadata {... */\n jump(tag_16)\n /* \"#utility.yul\":14:141 */\ntag_10:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x41\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:986 */\ntag_11:\n /* \"#utility.yul\":200:205 */\n 0x00\n /* \"#utility.yul\":253:256 */\n dup3\n /* \"#utility.yul\":246:250 */\n 0x1f\n /* \"#utility.yul\":238:244 */\n dup4\n /* \"#utility.yul\":234:251 */\n add\n /* \"#utility.yul\":230:257 */\n slt\n /* \"#utility.yul\":220:275 */\n tag_19\n jumpi\n /* \"#utility.yul\":271:272 */\n 0x00\n /* \"#utility.yul\":268:269 */\n dup1\n /* \"#utility.yul\":261:273 */\n revert\n /* \"#utility.yul\":220:275 */\ntag_19:\n /* \"#utility.yul\":294:307 */\n dup2\n mload\n sub(shl(0x40, 0x01), 0x01)\n /* \"#utility.yul\":356:366 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":353:389 */\n iszero\n tag_21\n jumpi\n /* \"#utility.yul\":369:387 */\n tag_21\n tag_10\n jump\t// in\ntag_21:\n /* \"#utility.yul\":444:446 */\n 0x40\n /* \"#utility.yul\":438:447 */\n mload\n /* \"#utility.yul\":412:414 */\n 0x1f\n /* \"#utility.yul\":498:511 */\n dup4\n add\n not(0x1f)\n /* \"#utility.yul\":494:516 */\n swap1\n dup2\n and\n /* \"#utility.yul\":518:520 */\n 0x3f\n /* \"#utility.yul\":490:521 */\n add\n /* \"#utility.yul\":486:526 */\n and\n /* \"#utility.yul\":474:527 */\n dup2\n add\n swap1\n /* \"#utility.yul\":542:560 */\n dup3\n dup3\n gt\n /* \"#utility.yul\":562:584 */\n dup2\n dup4\n lt\n /* \"#utility.yul\":539:585 */\n or\n /* \"#utility.yul\":536:608 */\n iszero\n tag_23\n jumpi\n /* \"#utility.yul\":588:606 */\n tag_23\n tag_10\n jump\t// in\ntag_23:\n /* \"#utility.yul\":628:638 */\n dup2\n /* \"#utility.yul\":624:626 */\n 0x40\n /* \"#utility.yul\":617:639 */\n mstore\n /* \"#utility.yul\":663:665 */\n dup4\n /* \"#utility.yul\":655:661 */\n dup2\n /* \"#utility.yul\":648:666 */\n mstore\n /* \"#utility.yul\":685:689 */\n 0x20\n /* \"#utility.yul\":675:689 */\n swap3\n pop\n /* \"#utility.yul\":730:733 */\n dup7\n /* \"#utility.yul\":725:727 */\n dup4\n /* \"#utility.yul\":720:722 */\n dup6\n /* \"#utility.yul\":712:718 */\n dup9\n /* \"#utility.yul\":708:723 */\n add\n /* \"#utility.yul\":704:728 */\n add\n /* \"#utility.yul\":701:734 */\n gt\n /* \"#utility.yul\":698:751 */\n iszero\n tag_24\n jumpi\n /* \"#utility.yul\":747:748 */\n 0x00\n /* \"#utility.yul\":744:745 */\n dup1\n /* \"#utility.yul\":737:749 */\n revert\n /* \"#utility.yul\":698:751 */\ntag_24:\n /* \"#utility.yul\":769:770 */\n 0x00\n /* \"#utility.yul\":760:770 */\n swap2\n pop\n /* \"#utility.yul\":779:912 */\ntag_25:\n /* \"#utility.yul\":793:795 */\n dup4\n /* \"#utility.yul\":790:791 */\n dup3\n /* \"#utility.yul\":787:796 */\n lt\n /* \"#utility.yul\":779:912 */\n iszero\n tag_27\n jumpi\n /* \"#utility.yul\":881:895 */\n dup6\n dup3\n add\n /* \"#utility.yul\":877:900 */\n dup4\n add\n /* \"#utility.yul\":871:901 */\n mload\n /* \"#utility.yul\":850:864 */\n dup2\n dup4\n add\n /* \"#utility.yul\":846:869 */\n dup5\n add\n /* \"#utility.yul\":839:902 */\n mstore\n /* \"#utility.yul\":804:814 */\n swap1\n dup3\n add\n swap1\n /* \"#utility.yul\":779:912 */\n jump(tag_25)\ntag_27:\n /* \"#utility.yul\":954:955 */\n 0x00\n /* \"#utility.yul\":932:947 */\n swap4\n dup2\n add\n /* \"#utility.yul\":928:952 */\n swap1\n swap3\n add\n /* \"#utility.yul\":921:956 */\n swap3\n swap1\n swap3\n mstore\n /* \"#utility.yul\":936:942 */\n swap5\n /* \"#utility.yul\":146:986 */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":991:1553 */\ntag_3:\n /* \"#utility.yul\":1090:1096 */\n 0x00\n /* \"#utility.yul\":1098:1104 */\n dup1\n /* \"#utility.yul\":1151:1153 */\n 0x40\n /* \"#utility.yul\":1139:1148 */\n dup4\n /* \"#utility.yul\":1130:1137 */\n dup6\n /* \"#utility.yul\":1126:1149 */\n sub\n /* \"#utility.yul\":1122:1154 */\n slt\n /* \"#utility.yul\":1119:1171 */\n iszero\n tag_29\n jumpi\n /* \"#utility.yul\":1167:1168 */\n 0x00\n /* \"#utility.yul\":1164:1165 */\n dup1\n /* \"#utility.yul\":1157:1169 */\n revert\n /* \"#utility.yul\":1119:1171 */\ntag_29:\n /* \"#utility.yul\":1194:1210 */\n dup3\n mload\n sub(shl(0x40, 0x01), 0x01)\n /* \"#utility.yul\":1259:1273 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":1256:1290 */\n iszero\n tag_30\n jumpi\n /* \"#utility.yul\":1286:1287 */\n 0x00\n /* \"#utility.yul\":1283:1284 */\n dup1\n /* \"#utility.yul\":1276:1288 */\n revert\n /* \"#utility.yul\":1256:1290 */\ntag_30:\n /* \"#utility.yul\":1309:1370 */\n tag_31\n /* \"#utility.yul\":1362:1369 */\n dup7\n /* \"#utility.yul\":1353:1359 */\n dup4\n /* \"#utility.yul\":1342:1351 */\n dup8\n /* \"#utility.yul\":1338:1360 */\n add\n /* \"#utility.yul\":1309:1370 */\n tag_11\n jump\t// in\ntag_31:\n /* \"#utility.yul\":1299:1370 */\n swap4\n pop\n /* \"#utility.yul\":1416:1418 */\n 0x20\n /* \"#utility.yul\":1405:1414 */\n dup6\n /* \"#utility.yul\":1401:1419 */\n add\n /* \"#utility.yul\":1395:1420 */\n mload\n /* \"#utility.yul\":1379:1420 */\n swap2\n pop\n /* \"#utility.yul\":1445:1447 */\n dup1\n /* \"#utility.yul\":1435:1443 */\n dup3\n /* \"#utility.yul\":1432:1448 */\n gt\n /* \"#utility.yul\":1429:1465 */\n iszero\n tag_32\n jumpi\n /* \"#utility.yul\":1461:1462 */\n 0x00\n /* \"#utility.yul\":1458:1459 */\n dup1\n /* \"#utility.yul\":1451:1463 */\n revert\n /* \"#utility.yul\":1429:1465 */\ntag_32:\n pop\n /* \"#utility.yul\":1484:1547 */\n tag_33\n /* \"#utility.yul\":1539:1546 */\n dup6\n /* \"#utility.yul\":1528:1536 */\n dup3\n /* \"#utility.yul\":1517:1526 */\n dup7\n /* \"#utility.yul\":1513:1537 */\n add\n /* \"#utility.yul\":1484:1547 */\n tag_11\n jump\t// in\ntag_33:\n /* \"#utility.yul\":1474:1547 */\n swap2\n pop\n pop\n /* \"#utility.yul\":991:1553 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1558:1938 */\ntag_12:\n /* \"#utility.yul\":1637:1638 */\n 0x01\n /* \"#utility.yul\":1633:1645 */\n dup2\n dup2\n shr\n swap1\n /* \"#utility.yul\":1680:1692 */\n dup3\n and\n dup1\n /* \"#utility.yul\":1701:1762 */\n tag_35\n jumpi\n /* \"#utility.yul\":1755:1759 */\n 0x7f\n /* \"#utility.yul\":1747:1753 */\n dup3\n /* \"#utility.yul\":1743:1760 */\n and\n /* \"#utility.yul\":1733:1760 */\n swap2\n pop\n /* \"#utility.yul\":1701:1762 */\ntag_35:\n /* \"#utility.yul\":1808:1810 */\n 0x20\n /* \"#utility.yul\":1800:1806 */\n dup3\n /* \"#utility.yul\":1797:1811 */\n lt\n /* \"#utility.yul\":1777:1795 */\n dup2\n /* \"#utility.yul\":1774:1812 */\n sub\n /* \"#utility.yul\":1771:1932 */\n tag_36\n jumpi\n /* \"#utility.yul\":1854:1864 */\n 0x4e487b71\n /* \"#utility.yul\":1849:1852 */\n 0xe0\n /* \"#utility.yul\":1845:1865 */\n shl\n /* \"#utility.yul\":1842:1843 */\n 0x00\n /* \"#utility.yul\":1835:1866 */\n mstore\n /* \"#utility.yul\":1889:1893 */\n 0x22\n /* \"#utility.yul\":1886:1887 */\n 0x04\n /* \"#utility.yul\":1879:1894 */\n mstore\n /* \"#utility.yul\":1917:1921 */\n 0x24\n /* \"#utility.yul\":1914:1915 */\n 0x00\n /* \"#utility.yul\":1907:1922 */\n revert\n /* \"#utility.yul\":1771:1932 */\ntag_36:\n pop\n /* \"#utility.yul\":1558:1938 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2069:2614 */\ntag_14:\n /* \"#utility.yul\":2171:2173 */\n 0x1f\n /* \"#utility.yul\":2166:2169 */\n dup3\n /* \"#utility.yul\":2163:2174 */\n gt\n /* \"#utility.yul\":2160:2608 */\n iszero\n tag_39\n jumpi\n /* \"#utility.yul\":2207:2208 */\n 0x00\n /* \"#utility.yul\":2232:2237 */\n dup2\n /* \"#utility.yul\":2228:2230 */\n dup2\n /* \"#utility.yul\":2221:2238 */\n mstore\n /* \"#utility.yul\":2277:2281 */\n 0x20\n /* \"#utility.yul\":2273:2275 */\n dup2\n /* \"#utility.yul\":2263:2282 */\n keccak256\n /* \"#utility.yul\":2347:2349 */\n 0x1f\n /* \"#utility.yul\":2335:2345 */\n dup6\n /* \"#utility.yul\":2331:2350 */\n add\n /* \"#utility.yul\":2328:2329 */\n 0x05\n /* \"#utility.yul\":2324:2351 */\n shr\n /* \"#utility.yul\":2318:2322 */\n dup2\n /* \"#utility.yul\":2314:2352 */\n add\n /* \"#utility.yul\":2383:2387 */\n 0x20\n /* \"#utility.yul\":2371:2381 */\n dup7\n /* \"#utility.yul\":2368:2388 */\n lt\n /* \"#utility.yul\":2365:2412 */\n iszero\n tag_40\n jumpi\n pop\n /* \"#utility.yul\":2406:2410 */\n dup1\n /* \"#utility.yul\":2365:2412 */\ntag_40:\n /* \"#utility.yul\":2461:2463 */\n 0x1f\n /* \"#utility.yul\":2456:2459 */\n dup6\n /* \"#utility.yul\":2452:2464 */\n add\n /* \"#utility.yul\":2449:2450 */\n 0x05\n /* \"#utility.yul\":2445:2465 */\n shr\n /* \"#utility.yul\":2439:2443 */\n dup3\n /* \"#utility.yul\":2435:2466 */\n add\n /* \"#utility.yul\":2425:2466 */\n swap2\n pop\n /* \"#utility.yul\":2516:2598 */\ntag_41:\n /* \"#utility.yul\":2534:2536 */\n dup2\n /* \"#utility.yul\":2527:2532 */\n dup2\n /* \"#utility.yul\":2524:2537 */\n lt\n /* \"#utility.yul\":2516:2598 */\n iszero\n tag_43\n jumpi\n /* \"#utility.yul\":2579:2596 */\n dup3\n dup2\n sstore\n /* \"#utility.yul\":2560:2561 */\n 0x01\n /* \"#utility.yul\":2549:2562 */\n add\n /* \"#utility.yul\":2516:2598 */\n jump(tag_41)\ntag_43:\n /* \"#utility.yul\":2520:2523 */\n pop\n pop\n pop\n /* \"#utility.yul\":2160:2608 */\ntag_39:\n /* \"#utility.yul\":2069:2614 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2790:4142 */\ntag_7:\n /* \"#utility.yul\":2910:2920 */\n dup2\n mload\n sub(shl(0x40, 0x01), 0x01)\n /* \"#utility.yul\":2932:2962 */\n dup2\n gt\n /* \"#utility.yul\":2929:2985 */\n iszero\n tag_47\n jumpi\n /* \"#utility.yul\":2965:2983 */\n tag_47\n tag_10\n jump\t// in\ntag_47:\n /* \"#utility.yul\":2994:3091 */\n tag_48\n /* \"#utility.yul\":3084:3090 */\n dup2\n /* \"#utility.yul\":3044:3082 */\n tag_49\n /* \"#utility.yul\":3076:3080 */\n dup5\n /* \"#utility.yul\":3070:3081 */\n sload\n /* \"#utility.yul\":3044:3082 */\n tag_12\n jump\t// in\ntag_49:\n /* \"#utility.yul\":3038:3042 */\n dup5\n /* \"#utility.yul\":2994:3091 */\n tag_14\n jump\t// in\ntag_48:\n /* \"#utility.yul\":3146:3150 */\n 0x20\n dup1\n /* \"#utility.yul\":3210:3212 */\n 0x1f\n /* \"#utility.yul\":3199:3213 */\n dup4\n gt\n /* \"#utility.yul\":3227:3228 */\n 0x01\n /* \"#utility.yul\":3222:3885 */\n dup2\n eq\n tag_51\n jumpi\n /* \"#utility.yul\":3929:3930 */\n 0x00\n /* \"#utility.yul\":3946:3952 */\n dup5\n /* \"#utility.yul\":3943:4032 */\n iszero\n tag_52\n jumpi\n pop\n /* \"#utility.yul\":3998:4017 */\n dup6\n dup4\n add\n /* \"#utility.yul\":3992:4018 */\n mload\n /* \"#utility.yul\":3943:4032 */\ntag_52:\n not(0x00)\n /* \"#utility.yul\":2747:2748 */\n 0x03\n /* \"#utility.yul\":2743:2754 */\n dup7\n swap1\n shl\n /* \"#utility.yul\":2739:2763 */\n shr\n /* \"#utility.yul\":2735:2764 */\n not\n /* \"#utility.yul\":2725:2765 */\n and\n /* \"#utility.yul\":2771:2772 */\n 0x01\n /* \"#utility.yul\":2767:2778 */\n dup6\n swap1\n shl\n /* \"#utility.yul\":2722:2779 */\n or\n /* \"#utility.yul\":4045:4126 */\n dup6\n sstore\n /* \"#utility.yul\":3192:4136 */\n jump(tag_43)\n /* \"#utility.yul\":3222:3885 */\ntag_51:\n /* \"#utility.yul\":2016:2017 */\n 0x00\n /* \"#utility.yul\":2009:2023 */\n dup6\n dup2\n mstore\n /* \"#utility.yul\":2053:2057 */\n 0x20\n /* \"#utility.yul\":2040:2058 */\n dup2\n keccak256\n not(0x1f)\n /* \"#utility.yul\":3258:3278 */\n dup7\n and\n swap2\n /* \"#utility.yul\":3376:3612 */\ntag_55:\n /* \"#utility.yul\":3390:3397 */\n dup3\n /* \"#utility.yul\":3387:3388 */\n dup2\n /* \"#utility.yul\":3384:3398 */\n lt\n /* \"#utility.yul\":3376:3612 */\n iszero\n tag_57\n jumpi\n /* \"#utility.yul\":3479:3498 */\n dup9\n dup7\n add\n /* \"#utility.yul\":3473:3499 */\n mload\n /* \"#utility.yul\":3458:3500 */\n dup3\n sstore\n /* \"#utility.yul\":3571:3598 */\n swap5\n dup5\n add\n swap5\n /* \"#utility.yul\":3539:3540 */\n 0x01\n /* \"#utility.yul\":3527:3541 */\n swap1\n swap2\n add\n swap1\n /* \"#utility.yul\":3406:3425 */\n dup5\n add\n /* \"#utility.yul\":3376:3612 */\n jump(tag_55)\ntag_57:\n /* \"#utility.yul\":3380:3383 */\n pop\n /* \"#utility.yul\":3640:3646 */\n dup6\n /* \"#utility.yul\":3631:3638 */\n dup3\n /* \"#utility.yul\":3628:3647 */\n lt\n /* \"#utility.yul\":3625:3826 */\n iszero\n tag_58\n jumpi\n /* \"#utility.yul\":3701:3720 */\n dup8\n dup6\n add\n /* \"#utility.yul\":3695:3721 */\n mload\n not(0x00)\n /* \"#utility.yul\":3784:3785 */\n 0x03\n /* \"#utility.yul\":3780:3794 */\n dup9\n swap1\n shl\n /* \"#utility.yul\":3796:3799 */\n 0xf8\n /* \"#utility.yul\":3776:3800 */\n and\n /* \"#utility.yul\":3772:3809 */\n shr\n /* \"#utility.yul\":3768:3810 */\n not\n /* \"#utility.yul\":3753:3811 */\n and\n /* \"#utility.yul\":3738:3812 */\n dup2\n sstore\n /* \"#utility.yul\":3625:3826 */\ntag_58:\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":3872:3873 */\n 0x01\n /* \"#utility.yul\":3856:3870 */\n swap1\n dup2\n shl\n /* \"#utility.yul\":3852:3874 */\n add\n /* \"#utility.yul\":3839:3875 */\n swap1\n sstore\n pop\n /* \"#utility.yul\":2790:4142 */\n jump\t// out\ntag_16:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1401:13011 contract ERC20 is Context, IERC20, IERC20Metadata {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1401:13011 contract ERC20 is Context, IERC20, IERC20Metadata {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x39509351\n gt\n tag_14\n jumpi\n dup1\n 0x39509351\n eq\n tag_8\n jumpi\n dup1\n 0x70a08231\n eq\n tag_9\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_10\n jumpi\n dup1\n 0xa457c2d7\n eq\n tag_11\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_12\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_13\n jumpi\n 0x00\n dup1\n revert\n tag_14:\n dup1\n 0x06fdde03\n eq\n tag_3\n jumpi\n dup1\n 0x095ea7b3\n eq\n tag_4\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_5\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_6\n jumpi\n dup1\n 0x313ce567\n eq\n tag_7\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n tag_3:\n tag_15\n tag_16\n jump\t// in\n tag_15:\n mload(0x40)\n tag_17\n swap2\n swap1\n tag_18\n jump\t// in\n tag_17:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_4:\n tag_19\n tag_20\n calldatasize\n 0x04\n tag_21\n jump\t// in\n tag_20:\n tag_22\n jump\t// in\n tag_19:\n mload(0x40)\n /* \"#utility.yul\":1169:1183 */\n swap1\n iszero\n /* \"#utility.yul\":1162:1184 */\n iszero\n /* \"#utility.yul\":1144:1185 */\n dup2\n mstore\n /* \"#utility.yul\":1132:1134 */\n 0x20\n /* \"#utility.yul\":1117:1135 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_17\n /* \"#utility.yul\":1004:1191 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_5:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3329:3341 _totalSupply */\n sload(0x02)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_25:\n mload(0x40)\n /* \"#utility.yul\":1342:1367 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":1330:1332 */\n 0x20\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_17\n /* \"#utility.yul\":1196:1373 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n tag_6:\n tag_19\n tag_30\n calldatasize\n 0x04\n tag_31\n jump\t// in\n tag_30:\n tag_32\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3091:3182 function decimals() public view virtual override returns (uint8) {... */\n tag_7:\n mload(0x40)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3173:3175 18 */\n 0x12\n /* \"#utility.yul\":1853:1889 */\n dup2\n mstore\n /* \"#utility.yul\":1841:1843 */\n 0x20\n /* \"#utility.yul\":1826:1844 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3091:3182 function decimals() public view virtual override returns (uint8) {... */\n tag_17\n /* \"#utility.yul\":1711:1895 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5871:6105 function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {... */\n tag_8:\n tag_19\n tag_39\n calldatasize\n 0x04\n tag_21\n jump\t// in\n tag_39:\n tag_40\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3406:3531 function balanceOf(address account) public view virtual override returns (uint256) {... */\n tag_9:\n tag_25\n tag_43\n calldatasize\n 0x04\n tag_44\n jump\t// in\n tag_43:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3506:3524 _balances[account] */\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3480:3487 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3506:3524 _balances[account] */\n swap1\n dup2\n mstore\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n keccak256\n sload\n swap1\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3406:3531 function balanceOf(address account) public view virtual override returns (uint256) {... */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2365:2467 function symbol() public view virtual override returns (string memory) {... */\n tag_10:\n tag_15\n tag_48\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6592:7019 function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {... */\n tag_11:\n tag_19\n tag_51\n calldatasize\n 0x04\n tag_21\n jump\t// in\n tag_51:\n tag_52\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3727:3916 function transfer(address to, uint256 amount) public virtual override returns (bool) {... */\n tag_12:\n tag_19\n tag_55\n calldatasize\n 0x04\n tag_21\n jump\t// in\n tag_55:\n tag_56\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n tag_13:\n tag_25\n tag_59\n calldatasize\n 0x04\n tag_60\n jump\t// in\n tag_59:\n tag_61\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n tag_16:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2208:2221 string memory */\n 0x60\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2240:2245 _name */\n 0x03\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2233:2245 return _name */\n dup1\n sload\n tag_64\n swap1\n tag_65\n jump\t// in\n tag_64:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_66\n swap1\n tag_65\n jump\t// in\n tag_66:\n dup1\n iszero\n tag_67\n jumpi\n dup1\n 0x1f\n lt\n tag_68\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_67)\n tag_68:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_69:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_69\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_67:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n swap1\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_22:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4514:4518 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4600 _approve(owner, spender, amount) */\n tag_73\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4584:4591 spender */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4593:4599 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4576 _approve */\n tag_74\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4600 _approve(owner, spender, amount) */\n jump\t// in\n tag_73:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4617:4621 true */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4610:4621 return true */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_70:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n tag_32:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5317:5321 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5411 _spendAllowance(from, spender, amount) */\n tag_78\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5389:5393 from */\n dup6\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5404:5410 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5388 _spendAllowance */\n tag_79\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5411 _spendAllowance(from, spender, amount) */\n jump\t// in\n tag_78:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5448 _transfer(from, to, amount) */\n tag_80\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5431:5435 from */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5437:5439 to */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5441:5447 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5430 _transfer */\n tag_81\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5448 _transfer(from, to, amount) */\n jump\t// in\n tag_80:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5465:5469 true */\n 0x01\n swap5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5871:6105 function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {... */\n tag_40:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5959:5963 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6077 _approve(owner, spender, allowance(owner, spender) + addedValue) */\n tag_73\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6029:6036 spender */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6066:6076 addedValue */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6063 allowance(owner, spender) */\n tag_86\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6029:6036 spender */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6047 allowance */\n tag_61\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6063 allowance(owner, spender) */\n jump\t// in\n tag_86:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6076 allowance(owner, spender) + addedValue */\n tag_87\n swap2\n swap1\n tag_88\n jump\t// in\n tag_87:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6021 _approve */\n tag_74\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6077 _approve(owner, spender, allowance(owner, spender) + addedValue) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2365:2467 function symbol() public view virtual override returns (string memory) {... */\n tag_48:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2421:2434 string memory */\n 0x60\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2453:2460 _symbol */\n 0x04\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2446:2460 return _symbol */\n dup1\n sload\n tag_64\n swap1\n tag_65\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6592:7019 function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {... */\n tag_52:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6685:6689 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6685:6689 bool */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6791 allowance(owner, spender) */\n tag_98\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6783:6790 spender */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6775 allowance */\n tag_61\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6791 allowance(owner, spender) */\n jump\t// in\n tag_98:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6739:6791 uint256 currentAllowance = allowance(owner, spender) */\n swap1\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6829:6844 subtractedValue */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6809:6825 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6809:6844 currentAllowance >= subtractedValue */\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n tag_99\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":3170:3172 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":3152:3173 */\n mstore\n /* \"#utility.yul\":3209:3211 */\n 0x25\n /* \"#utility.yul\":3189:3207 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":3182:3212 */\n mstore\n /* \"#utility.yul\":3248:3282 */\n 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77\n /* \"#utility.yul\":3228:3246 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":3221:3283 */\n mstore\n shl(0xd8, 0x207a65726f)\n /* \"#utility.yul\":3299:3317 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":3292:3327 */\n mstore\n /* \"#utility.yul\":3344:3363 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n tag_100:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_99:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6980 _approve(owner, spender, currentAllowance - subtractedValue) */\n tag_80\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6929:6934 owner */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6936:6943 spender */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6964:6979 subtractedValue */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6945:6961 currentAllowance */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6945:6979 currentAllowance - subtractedValue */\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6928 _approve */\n tag_74\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6980 _approve(owner, spender, currentAllowance - subtractedValue) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3727:3916 function transfer(address to, uint256 amount) public virtual override returns (bool) {... */\n tag_56:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3806:3810 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3888 _transfer(owner, to, amount) */\n tag_73\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3877:3879 to */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3881:3887 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3869 _transfer */\n tag_81\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3888 _transfer(owner, to, amount) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n tag_61:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n swap2\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4063:4070 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n swap1\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4100 _allowances */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4116 _allowances[owner][spender] */\n swap4\n swap1\n swap5\n and\n dup3\n mstore\n swap2\n swap1\n swap2\n mstore\n keccak256\n sload\n swap1\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10504:10874 function _approve(... */\n tag_74:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10635:10654 owner != address(0) */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_109\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":3576:3578 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":3558:3579 */\n mstore\n /* \"#utility.yul\":3615:3617 */\n 0x24\n /* \"#utility.yul\":3595:3613 */\n dup1\n dup3\n add\n /* \"#utility.yul\":3588:3618 */\n mstore\n /* \"#utility.yul\":3654:3688 */\n 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464\n /* \"#utility.yul\":3634:3652 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":3627:3689 */\n mstore\n shl(0xe0, 0x72657373)\n /* \"#utility.yul\":3705:3723 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":3698:3732 */\n mstore\n /* \"#utility.yul\":3749:3768 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_100\n /* \"#utility.yul\":3374:3774 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_109:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10713:10734 spender != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_112\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":3981:3983 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":3963:3984 */\n mstore\n /* \"#utility.yul\":4020:4022 */\n 0x22\n /* \"#utility.yul\":4000:4018 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":3993:4023 */\n mstore\n /* \"#utility.yul\":4059:4093 */\n 0x45524332303a20617070726f766520746f20746865207a65726f206164647265\n /* \"#utility.yul\":4039:4057 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4032:4094 */\n mstore\n shl(0xf0, 0x7373)\n /* \"#utility.yul\":4110:4128 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":4103:4135 */\n mstore\n /* \"#utility.yul\":4152:4171 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_100\n /* \"#utility.yul\":3779:4177 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_112:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10802 _allowances[owner] */\n dup4\n dup2\n and\n 0x00\n dup2\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10795 _allowances */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10802 _allowances[owner] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10811 _allowances[owner][spender] */\n swap5\n dup8\n and\n dup1\n dup5\n mstore\n swap5\n dup3\n mstore\n swap2\n dup3\n swap1\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10820 _allowances[owner][spender] = amount */\n dup6\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n swap1\n mload\n /* \"#utility.yul\":1342:1367 */\n dup5\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n swap2\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10504:10874 function _approve(... */\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11155:11596 function _spendAllowance(... */\n tag_79:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11285:11309 uint256 currentAllowance */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11337 allowance(owner, spender) */\n tag_117\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11322:11327 owner */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11329:11336 spender */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11321 allowance */\n tag_61\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11337 allowance(owner, spender) */\n jump\t// in\n tag_117:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11285:11337 uint256 currentAllowance = allowance(owner, spender) */\n swap1\n pop\n not(0x00)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11351:11367 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11351:11388 currentAllowance != type(uint256).max */\n eq\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11347:11590 if (currentAllowance != type(uint256).max) {... */\n tag_122\n jumpi\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11432:11438 amount */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11412:11428 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11412:11438 currentAllowance >= amount */\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_119\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":4384:4386 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":4366:4387 */\n mstore\n /* \"#utility.yul\":4423:4425 */\n 0x1d\n /* \"#utility.yul\":4403:4421 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":4396:4426 */\n mstore\n /* \"#utility.yul\":4462:4493 */\n 0x45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000\n /* \"#utility.yul\":4442:4460 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4435:4494 */\n mstore\n /* \"#utility.yul\":4511:4529 */\n 0x64\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_100\n /* \"#utility.yul\":4182:4535 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_119:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11565 _approve(owner, spender, currentAllowance - amount) */\n tag_122\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11523:11528 owner */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11530:11537 spender */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11558:11564 amount */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11539:11555 currentAllowance */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11539:11564 currentAllowance - amount */\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11522 _approve */\n tag_74\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11565 _approve(owner, spender, currentAllowance - amount) */\n jump\t// in\n tag_122:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11275:11596 {... */\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11155:11596 function _spendAllowance(... */\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7473:8291 function _transfer(... */\n tag_81:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7599:7617 from != address(0) */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_124\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":4742:4744 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":4724:4745 */\n mstore\n /* \"#utility.yul\":4781:4783 */\n 0x25\n /* \"#utility.yul\":4761:4779 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":4754:4784 */\n mstore\n /* \"#utility.yul\":4820:4854 */\n 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164\n /* \"#utility.yul\":4800:4818 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4793:4855 */\n mstore\n shl(0xd8, 0x6472657373)\n /* \"#utility.yul\":4871:4889 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":4864:4899 */\n mstore\n /* \"#utility.yul\":4916:4935 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_100\n /* \"#utility.yul\":4540:4941 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_124:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7677:7693 to != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_127\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5148:5150 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5130:5151 */\n mstore\n /* \"#utility.yul\":5187:5189 */\n 0x23\n /* \"#utility.yul\":5167:5185 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5160:5190 */\n mstore\n /* \"#utility.yul\":5226:5260 */\n 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472\n /* \"#utility.yul\":5206:5224 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5199:5261 */\n mstore\n shl(0xe8, 0x657373)\n /* \"#utility.yul\":5277:5295 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":5270:5303 */\n mstore\n /* \"#utility.yul\":5320:5339 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_100\n /* \"#utility.yul\":4946:5345 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_127:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7815:7830 _balances[from] */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7793:7812 uint256 fromBalance */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7815:7830 _balances[from] */\n swap1\n dup2\n mstore\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7848:7869 fromBalance >= amount */\n dup2\n dup2\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_132\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5552:5554 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5534:5555 */\n mstore\n /* \"#utility.yul\":5591:5593 */\n 0x26\n /* \"#utility.yul\":5571:5589 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5564:5594 */\n mstore\n /* \"#utility.yul\":5630:5664 */\n 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062\n /* \"#utility.yul\":5610:5628 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5603:5665 */\n mstore\n shl(0xd0, 0x616c616e6365)\n /* \"#utility.yul\":5681:5699 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":5674:5710 */\n mstore\n /* \"#utility.yul\":5727:5746 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_100\n /* \"#utility.yul\":5350:5752 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_132:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7961 _balances[from] */\n dup5\n dup2\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7955 _balances */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7961 _balances[from] */\n dup2\n dup2\n mstore\n 0x20\n dup2\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7964:7984 fromBalance - amount */\n dup8\n dup8\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7984 _balances[from] = fromBalance - amount */\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8174 _balances[to] */\n swap4\n dup8\n and\n dup1\n dup4\n mstore\n swap2\n dup5\n swap1\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8184 _balances[to] += amount */\n dup1\n sload\n dup8\n add\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n swap3\n mload\n /* \"#utility.yul\":1342:1367 */\n dup6\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8174 _balances[to] */\n swap1\n swap3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n swap2\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8247:8284 _afterTokenTransfer(from, to, amount) */\n tag_122\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":12180:12301 function _beforeTokenTransfer(... */\n jump\n /* \"#utility.yul\":14:562 */\n tag_18:\n /* \"#utility.yul\":126:130 */\n 0x00\n /* \"#utility.yul\":155:157 */\n 0x20\n /* \"#utility.yul\":184:186 */\n dup1\n /* \"#utility.yul\":173:182 */\n dup4\n /* \"#utility.yul\":166:187 */\n mstore\n /* \"#utility.yul\":216:222 */\n dup4\n /* \"#utility.yul\":210:223 */\n mload\n /* \"#utility.yul\":259:265 */\n dup1\n /* \"#utility.yul\":254:256 */\n dup3\n /* \"#utility.yul\":243:252 */\n dup6\n /* \"#utility.yul\":239:257 */\n add\n /* \"#utility.yul\":232:266 */\n mstore\n /* \"#utility.yul\":284:285 */\n 0x00\n /* \"#utility.yul\":294:434 */\n tag_143:\n /* \"#utility.yul\":308:314 */\n dup2\n /* \"#utility.yul\":305:306 */\n dup2\n /* \"#utility.yul\":302:315 */\n lt\n /* \"#utility.yul\":294:434 */\n iszero\n tag_145\n jumpi\n /* \"#utility.yul\":403:417 */\n dup6\n dup2\n add\n /* \"#utility.yul\":399:422 */\n dup4\n add\n /* \"#utility.yul\":393:423 */\n mload\n /* \"#utility.yul\":369:386 */\n dup6\n dup3\n add\n /* \"#utility.yul\":388:390 */\n 0x40\n /* \"#utility.yul\":365:391 */\n add\n /* \"#utility.yul\":358:424 */\n mstore\n /* \"#utility.yul\":323:333 */\n dup3\n add\n /* \"#utility.yul\":294:434 */\n jump(tag_143)\n tag_145:\n /* \"#utility.yul\":298:301 */\n pop\n /* \"#utility.yul\":483:484 */\n 0x00\n /* \"#utility.yul\":478:480 */\n 0x40\n /* \"#utility.yul\":469:475 */\n dup3\n /* \"#utility.yul\":458:467 */\n dup7\n /* \"#utility.yul\":454:476 */\n add\n /* \"#utility.yul\":450:481 */\n add\n /* \"#utility.yul\":443:485 */\n mstore\n /* \"#utility.yul\":553:555 */\n 0x40\n /* \"#utility.yul\":546:548 */\n 0x1f\n /* \"#utility.yul\":542:549 */\n not\n /* \"#utility.yul\":537:539 */\n 0x1f\n /* \"#utility.yul\":529:535 */\n dup4\n /* \"#utility.yul\":525:540 */\n add\n /* \"#utility.yul\":521:550 */\n and\n /* \"#utility.yul\":510:519 */\n dup6\n /* \"#utility.yul\":506:551 */\n add\n /* \"#utility.yul\":502:556 */\n add\n /* \"#utility.yul\":494:556 */\n swap3\n pop\n pop\n pop\n /* \"#utility.yul\":14:562 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":567:740 */\n tag_140:\n /* \"#utility.yul\":635:655 */\n dup1\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":684:715 */\n dup2\n and\n /* \"#utility.yul\":674:716 */\n dup2\n eq\n /* \"#utility.yul\":664:734 */\n tag_147\n jumpi\n /* \"#utility.yul\":730:731 */\n 0x00\n /* \"#utility.yul\":727:728 */\n dup1\n /* \"#utility.yul\":720:732 */\n revert\n /* \"#utility.yul\":664:734 */\n tag_147:\n /* \"#utility.yul\":567:740 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":745:999 */\n tag_21:\n /* \"#utility.yul\":813:819 */\n 0x00\n /* \"#utility.yul\":821:827 */\n dup1\n /* \"#utility.yul\":874:876 */\n 0x40\n /* \"#utility.yul\":862:871 */\n dup4\n /* \"#utility.yul\":853:860 */\n dup6\n /* \"#utility.yul\":849:872 */\n sub\n /* \"#utility.yul\":845:877 */\n slt\n /* \"#utility.yul\":842:894 */\n iszero\n tag_149\n jumpi\n /* \"#utility.yul\":890:891 */\n 0x00\n /* \"#utility.yul\":887:888 */\n dup1\n /* \"#utility.yul\":880:892 */\n revert\n /* \"#utility.yul\":842:894 */\n tag_149:\n /* \"#utility.yul\":913:942 */\n tag_150\n /* \"#utility.yul\":932:941 */\n dup4\n /* \"#utility.yul\":913:942 */\n tag_140\n jump\t// in\n tag_150:\n /* \"#utility.yul\":903:942 */\n swap5\n /* \"#utility.yul\":989:991 */\n 0x20\n /* \"#utility.yul\":974:992 */\n swap4\n swap1\n swap4\n add\n /* \"#utility.yul\":961:993 */\n calldataload\n swap4\n pop\n pop\n pop\n /* \"#utility.yul\":745:999 */\n jump\t// out\n /* \"#utility.yul\":1378:1706 */\n tag_31:\n /* \"#utility.yul\":1455:1461 */\n 0x00\n /* \"#utility.yul\":1463:1469 */\n dup1\n /* \"#utility.yul\":1471:1477 */\n 0x00\n /* \"#utility.yul\":1524:1526 */\n 0x60\n /* \"#utility.yul\":1512:1521 */\n dup5\n /* \"#utility.yul\":1503:1510 */\n dup7\n /* \"#utility.yul\":1499:1522 */\n sub\n /* \"#utility.yul\":1495:1527 */\n slt\n /* \"#utility.yul\":1492:1544 */\n iszero\n tag_154\n jumpi\n /* \"#utility.yul\":1540:1541 */\n 0x00\n /* \"#utility.yul\":1537:1538 */\n dup1\n /* \"#utility.yul\":1530:1542 */\n revert\n /* \"#utility.yul\":1492:1544 */\n tag_154:\n /* \"#utility.yul\":1563:1592 */\n tag_155\n /* \"#utility.yul\":1582:1591 */\n dup5\n /* \"#utility.yul\":1563:1592 */\n tag_140\n jump\t// in\n tag_155:\n /* \"#utility.yul\":1553:1592 */\n swap3\n pop\n /* \"#utility.yul\":1611:1649 */\n tag_156\n /* \"#utility.yul\":1645:1647 */\n 0x20\n /* \"#utility.yul\":1634:1643 */\n dup6\n /* \"#utility.yul\":1630:1648 */\n add\n /* \"#utility.yul\":1611:1649 */\n tag_140\n jump\t// in\n tag_156:\n /* \"#utility.yul\":1601:1649 */\n swap2\n pop\n /* \"#utility.yul\":1696:1698 */\n 0x40\n /* \"#utility.yul\":1685:1694 */\n dup5\n /* \"#utility.yul\":1681:1699 */\n add\n /* \"#utility.yul\":1668:1700 */\n calldataload\n /* \"#utility.yul\":1658:1700 */\n swap1\n pop\n /* \"#utility.yul\":1378:1706 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":1900:2086 */\n tag_44:\n /* \"#utility.yul\":1959:1965 */\n 0x00\n /* \"#utility.yul\":2012:2014 */\n 0x20\n /* \"#utility.yul\":2000:2009 */\n dup3\n /* \"#utility.yul\":1991:1998 */\n dup5\n /* \"#utility.yul\":1987:2010 */\n sub\n /* \"#utility.yul\":1983:2015 */\n slt\n /* \"#utility.yul\":1980:2032 */\n iszero\n tag_159\n jumpi\n /* \"#utility.yul\":2028:2029 */\n 0x00\n /* \"#utility.yul\":2025:2026 */\n dup1\n /* \"#utility.yul\":2018:2030 */\n revert\n /* \"#utility.yul\":1980:2032 */\n tag_159:\n /* \"#utility.yul\":2051:2080 */\n tag_160\n /* \"#utility.yul\":2070:2079 */\n dup3\n /* \"#utility.yul\":2051:2080 */\n tag_140\n jump\t// in\n tag_160:\n /* \"#utility.yul\":2041:2080 */\n swap4\n /* \"#utility.yul\":1900:2086 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2091:2351 */\n tag_60:\n /* \"#utility.yul\":2159:2165 */\n 0x00\n /* \"#utility.yul\":2167:2173 */\n dup1\n /* \"#utility.yul\":2220:2222 */\n 0x40\n /* \"#utility.yul\":2208:2217 */\n dup4\n /* \"#utility.yul\":2199:2206 */\n dup6\n /* \"#utility.yul\":2195:2218 */\n sub\n /* \"#utility.yul\":2191:2223 */\n slt\n /* \"#utility.yul\":2188:2240 */\n iszero\n tag_162\n jumpi\n /* \"#utility.yul\":2236:2237 */\n 0x00\n /* \"#utility.yul\":2233:2234 */\n dup1\n /* \"#utility.yul\":2226:2238 */\n revert\n /* \"#utility.yul\":2188:2240 */\n tag_162:\n /* \"#utility.yul\":2259:2288 */\n tag_163\n /* \"#utility.yul\":2278:2287 */\n dup4\n /* \"#utility.yul\":2259:2288 */\n tag_140\n jump\t// in\n tag_163:\n /* \"#utility.yul\":2249:2288 */\n swap2\n pop\n /* \"#utility.yul\":2307:2345 */\n tag_164\n /* \"#utility.yul\":2341:2343 */\n 0x20\n /* \"#utility.yul\":2330:2339 */\n dup5\n /* \"#utility.yul\":2326:2344 */\n add\n /* \"#utility.yul\":2307:2345 */\n tag_140\n jump\t// in\n tag_164:\n /* \"#utility.yul\":2297:2345 */\n swap1\n pop\n /* \"#utility.yul\":2091:2351 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2356:2736 */\n tag_65:\n /* \"#utility.yul\":2435:2436 */\n 0x01\n /* \"#utility.yul\":2431:2443 */\n dup2\n dup2\n shr\n swap1\n /* \"#utility.yul\":2478:2490 */\n dup3\n and\n dup1\n /* \"#utility.yul\":2499:2560 */\n tag_166\n jumpi\n /* \"#utility.yul\":2553:2557 */\n 0x7f\n /* \"#utility.yul\":2545:2551 */\n dup3\n /* \"#utility.yul\":2541:2558 */\n and\n /* \"#utility.yul\":2531:2558 */\n swap2\n pop\n /* \"#utility.yul\":2499:2560 */\n tag_166:\n /* \"#utility.yul\":2606:2608 */\n 0x20\n /* \"#utility.yul\":2598:2604 */\n dup3\n /* \"#utility.yul\":2595:2609 */\n lt\n /* \"#utility.yul\":2575:2593 */\n dup2\n /* \"#utility.yul\":2572:2610 */\n sub\n /* \"#utility.yul\":2569:2730 */\n tag_167\n jumpi\n /* \"#utility.yul\":2652:2662 */\n 0x4e487b71\n /* \"#utility.yul\":2647:2650 */\n 0xe0\n /* \"#utility.yul\":2643:2663 */\n shl\n /* \"#utility.yul\":2640:2641 */\n 0x00\n /* \"#utility.yul\":2633:2664 */\n mstore\n /* \"#utility.yul\":2687:2691 */\n 0x22\n /* \"#utility.yul\":2684:2685 */\n 0x04\n /* \"#utility.yul\":2677:2692 */\n mstore\n /* \"#utility.yul\":2715:2719 */\n 0x24\n /* \"#utility.yul\":2712:2713 */\n 0x00\n /* \"#utility.yul\":2705:2720 */\n revert\n /* \"#utility.yul\":2569:2730 */\n tag_167:\n pop\n /* \"#utility.yul\":2356:2736 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2741:2963 */\n tag_88:\n /* \"#utility.yul\":2806:2815 */\n dup1\n dup3\n add\n /* \"#utility.yul\":2827:2837 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":2824:2957 */\n iszero\n tag_70\n jumpi\n /* \"#utility.yul\":2879:2889 */\n 0x4e487b71\n /* \"#utility.yul\":2874:2877 */\n 0xe0\n /* \"#utility.yul\":2870:2890 */\n shl\n /* \"#utility.yul\":2867:2868 */\n 0x00\n /* \"#utility.yul\":2860:2891 */\n mstore\n /* \"#utility.yul\":2914:2918 */\n 0x11\n /* \"#utility.yul\":2911:2912 */\n 0x04\n /* \"#utility.yul\":2904:2919 */\n mstore\n /* \"#utility.yul\":2942:2946 */\n 0x24\n /* \"#utility.yul\":2939:2940 */\n 0x00\n /* \"#utility.yul\":2932:2947 */\n revert\n\n auxdata: 0xa264697066735822122075cb8410e2d70fc70e9716639fd2bda4b36dfecbcf01c4d0a9155fe53a5b93f964736f6c63430008120033\n}\n", - "bytecode": { - "functionDebugData": { - "@_157": { - "entryPoint": null, - "id": 157, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_string_fromMemory": { - "entryPoint": 112, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory": { - "entryPoint": 287, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 453, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 536, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 393, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 90, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:4144:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:7", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:7" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:776:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:7", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:7" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:7" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:7" - }, - "nodeType": "YulIf", - "src": "220:55:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:7", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:7" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:7", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:7" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:7" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:7" - }, - "nodeType": "YulIf", - "src": "353:36:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:7" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:7" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:7", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:7", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:7" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:7", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:7" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:7" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:7" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:7" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:7" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:7" - }, - "nodeType": "YulIf", - "src": "536:72:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:7", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:7" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:7" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:7", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:7" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:7" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:7" - }, - "nodeType": "YulIf", - "src": "698:53:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:7" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:7" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:7" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:7" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:7", - "statements": [] - }, - "src": "779:133:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "936:6:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "944:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "932:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "932:15:7" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "949:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "928:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "928:24:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "954:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "921:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "921:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "921:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "965:15:7", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "974:6:7" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "965:5:7" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:7", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:7", - "type": "" - } - ], - "src": "146:840:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1109:444:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1155:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1164:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1167:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1157:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1157:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1157:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1130:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1139:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1126:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1126:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1151:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1122:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1122:32:7" - }, - "nodeType": "YulIf", - "src": "1119:52:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1180:30:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1200:9:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1194:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1194:16:7" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1184:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1219:28:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1237:2:7", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1241:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1233:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1233:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1245:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1229:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1229:18:7" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1223:2:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1274:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1283:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1286:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1276:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1276:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1276:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1262:6:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1270:2:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1259:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1259:14:7" - }, - "nodeType": "YulIf", - "src": "1256:34:7" - }, - { - "nodeType": "YulAssignment", - "src": "1299:71:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1342:9:7" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1353:6:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1338:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1338:22:7" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1362:7:7" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1309:28:7" - }, - "nodeType": "YulFunctionCall", - "src": "1309:61:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1299:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1379:41:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1405:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1416:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1401:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1401:18:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1395:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1395:25:7" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1383:8:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1449:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1458:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1461:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1451:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1451:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1451:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1435:8:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1445:2:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1432:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1432:16:7" - }, - "nodeType": "YulIf", - "src": "1429:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "1474:73:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1517:9:7" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1528:8:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1513:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1513:24:7" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1539:7:7" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1484:28:7" - }, - "nodeType": "YulFunctionCall", - "src": "1484:63:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1474:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1067:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1078:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1090:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1098:6:7", - "type": "" - } - ], - "src": "991:562:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1613:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1623:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1637:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1640:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1633:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1633:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1623:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1654:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1684:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1690:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1680:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1680:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1658:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1731:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1733:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1747:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1755:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1743:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1743:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1733:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1711:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1704:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1704:26:7" - }, - "nodeType": "YulIf", - "src": "1701:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1821:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1842:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1849:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1854:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1845:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1845:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1835:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1835:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1835:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1886:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1889:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1879:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1879:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1879:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1914:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1917:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1907:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1907:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1907:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1777:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1800:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1808:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1797:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1797:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1774:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1774:38:7" - }, - "nodeType": "YulIf", - "src": "1771:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1593:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1602:6:7", - "type": "" - } - ], - "src": "1558:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1999:65:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2016:1:7", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "2019:3:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2009:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2009:14:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2009:14:7" - }, - { - "nodeType": "YulAssignment", - "src": "2032:26:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2050:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2053:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "2040:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "2040:18:7" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2032:4:7" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "1982:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1990:4:7", - "type": "" - } - ], - "src": "1943:121:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2150:464:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2183:425:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2197:11:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2207:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2201:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2228:2:7" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2232:5:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2221:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2221:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2221:17:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2251:31:7", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2273:2:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2277:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "2263:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "2263:19:7" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2255:4:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2295:57:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2318:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2328:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "2335:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2347:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2331:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2331:19:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2324:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2324:27:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2314:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2314:38:7" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "2299:11:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2389:23:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2391:19:7", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2406:4:7" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "2391:11:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "2371:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2383:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2368:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2368:20:7" - }, - "nodeType": "YulIf", - "src": "2365:47:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2425:41:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2439:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2449:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2456:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2461:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2452:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2452:12:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2445:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2445:20:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2435:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2435:31:7" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "2429:2:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2479:24:7", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "2492:11:7" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "2483:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2577:21:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2586:5:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2593:2:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2579:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2579:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2579:17:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2527:5:7" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2534:2:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2524:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2524:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2538:26:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2540:22:7", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2553:5:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2560:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2549:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2549:13:7" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "2540:5:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2520:3:7", - "statements": [] - }, - "src": "2516:82:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2166:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2171:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2163:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2163:11:7" - }, - "nodeType": "YulIf", - "src": "2160:448:7" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "2122:5:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "2129:3:7", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "2134:10:7", - "type": "" - } - ], - "src": "2069:545:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2704:81:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2714:65:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2729:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2747:1:7", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2750:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2743:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2743:11:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2760:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2756:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2756:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2739:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2739:24:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2735:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2735:29:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2725:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2725:40:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2771:1:7", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "2774:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2767:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2767:11:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "2722:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2722:57:7" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "2714:4:7" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2681:4:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "2687:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "2695:4:7", - "type": "" - } - ], - "src": "2619:166:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2886:1256:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2896:24:7", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2916:3:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2910:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2910:10:7" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "2900:6:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2963:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "2965:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "2965:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2965:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2935:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2951:2:7", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2955:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2947:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2947:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2959:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2943:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2943:18:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2932:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2932:30:7" - }, - "nodeType": "YulIf", - "src": "2929:56:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3038:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3076:4:7" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "3070:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "3070:11:7" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "3044:25:7" - }, - "nodeType": "YulFunctionCall", - "src": "3044:38:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3084:6:7" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "2994:43:7" - }, - "nodeType": "YulFunctionCall", - "src": "2994:97:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2994:97:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3100:18:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3117:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "3104:9:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3127:23:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3146:4:7", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "3131:11:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3159:24:7", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3172:11:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3159:9:7" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3229:656:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3243:35:7", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3262:6:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3274:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3270:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3270:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3258:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3258:20:7" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "3247:7:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3291:49:7", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3335:4:7" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "3305:29:7" - }, - "nodeType": "YulFunctionCall", - "src": "3305:35:7" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "3295:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3353:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3362:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "3357:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3440:172:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3465:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3483:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3488:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3479:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3479:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3473:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "3473:26:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3458:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3458:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3458:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "3517:24:7", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3531:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3539:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3527:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3527:14:7" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3517:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3558:40:7", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3575:9:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3586:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3571:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3571:27:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3558:9:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3387:1:7" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "3390:7:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3384:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3384:14:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3399:28:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3401:24:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3410:1:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "3413:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3406:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3406:19:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "3401:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3380:3:7", - "statements": [] - }, - "src": "3376:236:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3660:166:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3678:43:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3705:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "3710:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3701:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3701:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3695:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "3695:26:7" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "3682:9:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "3745:6:7" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "3757:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3784:1:7", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3787:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3780:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3780:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3796:3:7", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3776:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3776:24:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3806:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3802:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3802:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3772:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3772:37:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3768:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3768:42:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3753:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3753:58:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3738:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3738:74:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3738:74:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "3631:7:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3640:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3628:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3628:19:7" - }, - "nodeType": "YulIf", - "src": "3625:201:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "3846:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3860:1:7", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3863:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3856:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3856:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3872:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3852:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3852:22:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "3839:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3839:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3839:36:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3222:663:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3227:1:7", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3902:234:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3916:14:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3929:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3920:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3965:67:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3983:35:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4002:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "4007:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3998:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3998:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3992:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "3992:26:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3983:5:7" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3946:6:7" - }, - "nodeType": "YulIf", - "src": "3943:89:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "4052:4:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4111:5:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "4118:6:7" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "4058:52:7" - }, - "nodeType": "YulFunctionCall", - "src": "4058:67:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "4045:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4045:81:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4045:81:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3894:242:7", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "3202:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3210:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3199:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3199:14:7" - }, - "nodeType": "YulSwitch", - "src": "3192:944:7" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "2871:4:7", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2877:3:7", - "type": "" - } - ], - "src": "2790:1352:7" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), _4), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b5060405162000b4638038062000b4683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea264697066735822122075cb8410e2d70fc70e9716639fd2bda4b36dfecbcf01c4d0a9155fe53a5b93f964736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xB46 CODESIZE SUB DUP1 PUSH3 0xB46 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x11F JUMP JUMPDEST PUSH1 0x3 PUSH3 0x42 DUP4 DUP3 PUSH3 0x218 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x51 DUP3 DUP3 PUSH3 0x218 JUMP JUMPDEST POP POP POP PUSH3 0x2E4 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x9F JUMPI PUSH3 0x9F PUSH3 0x5A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xCA JUMPI PUSH3 0xCA PUSH3 0x5A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x10B JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xEC JUMP JUMPDEST PUSH1 0x0 SWAP4 DUP2 ADD SWAP1 SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x14B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x159 DUP7 DUP4 DUP8 ADD PUSH3 0x70 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x17F DUP6 DUP3 DUP7 ADD PUSH3 0x70 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x19E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1BF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x213 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1EE JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x20F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FA JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x234 JUMPI PUSH3 0x234 PUSH3 0x5A JUMP JUMPDEST PUSH3 0x24C DUP2 PUSH3 0x245 DUP5 SLOAD PUSH3 0x189 JUMP JUMPDEST DUP5 PUSH3 0x1C5 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x284 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x26B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x20F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x294 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x852 DUP1 PUSH3 0x2F4 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x730 JUMP JUMPDEST PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x76C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x292 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x2A1 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x321 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x78E JUMP JUMPDEST PUSH2 0x32F JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1DB SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x35A JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x25A DUP6 DUP3 DUP6 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x265 DUP6 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x283 DUP4 DUP4 PUSH2 0x32F JUMP JUMPDEST PUSH2 0x28D SWAP2 SWAP1 PUSH2 0x7FB JUMP JUMPDEST PUSH2 0x35A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AF DUP3 DUP7 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x314 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x265 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48A DUP5 DUP5 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F2 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x30B JUMP JUMPDEST PUSH2 0x4F2 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x636 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C9 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AD JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x722 DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x745 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x74E DUP5 PUSH2 0x6EA JUMP JUMPDEST SWAP3 POP PUSH2 0x75C PUSH1 0x20 DUP6 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x787 DUP3 PUSH2 0x6EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AA DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH2 0x7B8 PUSH1 0x20 DUP5 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x7F5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x246 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0xCB8410E2D70FC70E9716639FD2BDA4B36DFECBCF01C4 0xD0 0xA9 ISZERO 0x5F 0xE5 GASPRICE JUMPDEST SWAP4 0xF9 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", - "sourceMap": "1401:11610:1:-:0;;;1976:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2042:5;:13;2050:5;2042;:13;:::i;:::-;-1:-1:-1;2065:7:1;:17;2075:7;2065;:17;:::i;:::-;;1976:113;;1401:11610;;14:127:7;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:7;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:7;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:7:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:7;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:7;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:7;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:7;;;3992:26;3943:89;-1:-1:-1;;2747:1:7;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:7;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:7;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:7;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:7:o;:::-;1401:11610:1;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_afterTokenTransfer_698": { - "entryPoint": null, - "id": 698, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_approve_633": { - "entryPoint": 858, - "id": 633, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_687": { - "entryPoint": null, - "id": 687, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_msgSender_858": { - "entryPoint": null, - "id": 858, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_spendAllowance_676": { - "entryPoint": 1150, - "id": 676, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_transfer_459": { - "entryPoint": 1272, - "id": 459, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_254": { - "entryPoint": 815, - "id": 254, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@approve_279": { - "entryPoint": 562, - "id": 279, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_211": { - "entryPoint": null, - "id": 211, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@decimals_187": { - "entryPoint": null, - "id": 187, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@decreaseAllowance_382": { - "entryPoint": 673, - "id": 382, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@increaseAllowance_341": { - "entryPoint": 624, - "id": 341, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@name_167": { - "entryPoint": 416, - "id": 167, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@symbol_177": { - "entryPoint": 658, - "id": 177, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@totalSupply_197": { - "entryPoint": null, - "id": 197, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@transferFrom_312": { - "entryPoint": 588, - "id": 312, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transfer_236": { - "entryPoint": 801, - "id": 236, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 1770, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 1900, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 1934, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 1840, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 1798, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 1692, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 2043, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 1985, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:5754:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "135:427:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "145:12:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "155:2:7", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "149:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "173:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "184:2:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "166:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "166:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "166:21:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "196:27:7", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "216:6:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "210:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "210:13:7" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "200:6:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "243:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "254:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "239:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "239:18:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "259:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "232:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "232:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "232:34:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "275:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "284:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "279:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "344:90:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "373:9:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "384:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "369:17:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "365:26:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "407:6:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "415:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "403:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "403:14:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "419:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "399:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "399:23:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "393:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "393:30:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "358:66:7" - }, - "nodeType": "YulExpressionStatement", - "src": "358:66:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "305:1:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "308:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "302:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "302:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "316:19:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "318:15:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "330:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "323:10:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "318:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "298:3:7", - "statements": [] - }, - "src": "294:140:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "458:9:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "469:6:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "454:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "454:22:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "478:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "450:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "450:31:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "483:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "443:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "443:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "443:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "494:62:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "510:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "529:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "537:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "525:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "525:15:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "546:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "542:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "542:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "521:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "521:29:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "506:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "506:45:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "553:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "502:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "502:54:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "494:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "104:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "115:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "126:4:7", - "type": "" - } - ], - "src": "14:548:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "616:124:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "626:29:7", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "648:6:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "635:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "635:20:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "626:5:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "718:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "727:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "730:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "720:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "720:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "720:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "677:5:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "688:5:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "703:3:7", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "708:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "699:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "699:11:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "712:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "695:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "695:19:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "684:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "684:31:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "674:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "674:42:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "667:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "667:50:7" - }, - "nodeType": "YulIf", - "src": "664:70:7" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "595:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "606:5:7", - "type": "" - } - ], - "src": "567:173:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "832:167:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "878:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "887:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "890:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "880:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "880:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "880:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "853:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "862:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "849:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "849:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "874:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "845:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "845:32:7" - }, - "nodeType": "YulIf", - "src": "842:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "903:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "932:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "913:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "913:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "903:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "951:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "978:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "974:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "974:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "961:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "961:32:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "951:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "790:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "801:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "813:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "821:6:7", - "type": "" - } - ], - "src": "745:254:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1099:92:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1109:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1121:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1132:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1117:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1117:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1109:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1151:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1176:6:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1169:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1169:14:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1162:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1162:22:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1144:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1144:41:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1144:41:7" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1068:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1079:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1090:4:7", - "type": "" - } - ], - "src": "1004:187:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1297:76:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1307:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1319:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1330:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1315:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1315:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1307:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1349:9:7" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1360:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1342:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1342:25:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1342:25:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1266:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1277:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1288:4:7", - "type": "" - } - ], - "src": "1196:177:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1482:224:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1528:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1537:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1540:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1530:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1530:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1530:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1503:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1512:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1499:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1499:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1524:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1495:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1495:32:7" - }, - "nodeType": "YulIf", - "src": "1492:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "1553:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1582:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1563:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1563:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1553:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1601:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1634:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1645:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1630:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1630:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1611:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1611:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1601:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1658:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1685:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1696:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1681:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1681:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1668:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "1668:32:7" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1658:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1432:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1443:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1455:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1463:6:7", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1471:6:7", - "type": "" - } - ], - "src": "1378:328:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1808:87:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1818:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1830:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1841:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1826:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1826:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1818:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1860:9:7" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1875:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1883:4:7", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1871:17:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1853:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1853:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1853:36:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1777:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1788:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1799:4:7", - "type": "" - } - ], - "src": "1711:184:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1970:116:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2016:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2025:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2028:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2018:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2018:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2018:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1991:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2000:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1987:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1987:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2012:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1983:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1983:32:7" - }, - "nodeType": "YulIf", - "src": "1980:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2041:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2070:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2051:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2051:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2041:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1936:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1947:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1959:6:7", - "type": "" - } - ], - "src": "1900:186:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2178:173:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2224:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2233:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2236:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2226:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2226:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2226:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2199:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2208:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2195:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2195:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2220:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2191:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2191:32:7" - }, - "nodeType": "YulIf", - "src": "2188:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2249:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2278:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2259:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2259:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2249:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2297:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2330:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2341:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2326:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2326:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2307:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2307:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2297:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2136:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2147:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2159:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2167:6:7", - "type": "" - } - ], - "src": "2091:260:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2411:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2421:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2435:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2438:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2431:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2431:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2421:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2452:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2482:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2488:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2478:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2478:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2456:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2529:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2531:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2545:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2553:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2541:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2541:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2531:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2509:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2502:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2502:26:7" - }, - "nodeType": "YulIf", - "src": "2499:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2619:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2640:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2647:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2652:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2643:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2643:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2633:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2633:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2633:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2684:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2687:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2677:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2677:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2677:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2712:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2715:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2705:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2705:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2575:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2598:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2606:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2595:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2595:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2572:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2572:38:7" - }, - "nodeType": "YulIf", - "src": "2569:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2391:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2400:6:7", - "type": "" - } - ], - "src": "2356:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2789:174:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2799:16:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2810:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "2813:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2806:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2806:9:7" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "2799:3:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2846:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2867:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2874:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2879:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2870:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2870:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2860:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2860:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2860:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2911:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2914:4:7", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2904:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2904:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2904:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2939:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2942:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2932:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2932:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2932:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "2830:1:7" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "2833:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2827:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2827:10:7" - }, - "nodeType": "YulIf", - "src": "2824:133:7" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "2772:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "2775:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "2781:3:7", - "type": "" - } - ], - "src": "2741:222:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3142:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3159:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3170:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3152:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3152:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3152:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3193:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3204:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3189:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3189:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3209:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3182:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3182:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3182:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3232:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3243:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3228:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3228:18:7" - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3248:34:7", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3221:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3221:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3221:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3303:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3314:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3299:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3299:18:7" - }, - { - "hexValue": "207a65726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3319:7:7", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3292:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3292:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3292:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "3336:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3348:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3359:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3344:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3344:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3336:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3119:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3133:4:7", - "type": "" - } - ], - "src": "2968:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3548:226:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3565:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3576:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3558:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3558:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3558:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3599:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3610:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3595:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3595:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3615:2:7", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3588:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3588:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3588:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3638:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3649:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3634:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3634:18:7" - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3654:34:7", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3627:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3627:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3627:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3709:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3720:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3705:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3705:18:7" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3725:6:7", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3698:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3698:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3698:34:7" - }, - { - "nodeType": "YulAssignment", - "src": "3741:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3753:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3764:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3749:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3749:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3741:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3525:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3539:4:7", - "type": "" - } - ], - "src": "3374:400:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3953:224:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3970:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3981:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3963:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3963:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3963:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4004:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4015:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4000:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4000:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4020:2:7", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3993:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3993:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3993:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4043:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4054:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4039:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4039:18:7" - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4059:34:7", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4032:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4032:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4032:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4114:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4125:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4110:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4110:18:7" - }, - { - "hexValue": "7373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4130:4:7", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4103:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4103:32:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4103:32:7" - }, - { - "nodeType": "YulAssignment", - "src": "4144:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4156:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4167:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4152:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4152:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4144:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3930:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3944:4:7", - "type": "" - } - ], - "src": "3779:398:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4356:179:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4373:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4384:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4366:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4366:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4366:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4407:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4418:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4403:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4403:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4423:2:7", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4396:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4396:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4396:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4446:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4457:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4442:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4442:18:7" - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4462:31:7", - "type": "", - "value": "ERC20: insufficient allowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4435:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4435:59:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4435:59:7" - }, - { - "nodeType": "YulAssignment", - "src": "4503:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4515:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4526:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4511:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4511:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4503:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4333:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4347:4:7", - "type": "" - } - ], - "src": "4182:353:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4714:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4731:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4742:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4724:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4724:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4724:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4765:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4776:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4761:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4761:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4781:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4754:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4754:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4754:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4804:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4815:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4800:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4800:18:7" - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4820:34:7", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4793:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4793:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4793:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4875:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4886:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4871:18:7" - }, - { - "hexValue": "6472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4891:7:7", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4864:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4864:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4864:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "4908:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4920:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4931:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4916:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4916:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4908:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4691:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4705:4:7", - "type": "" - } - ], - "src": "4540:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5120:225:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5137:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5148:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5130:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5130:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5130:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5171:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5182:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5167:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5167:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5187:2:7", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5160:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5160:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5160:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5210:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5221:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5206:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5206:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5226:34:7", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5199:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5199:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5199:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5281:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5292:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5277:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5277:18:7" - }, - { - "hexValue": "657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5297:5:7", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5270:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5270:33:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5270:33:7" - }, - { - "nodeType": "YulAssignment", - "src": "5312:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5324:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5335:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5320:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5320:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5312:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5097:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5111:4:7", - "type": "" - } - ], - "src": "4946:399:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5524:228:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5541:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5552:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5534:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5534:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5534:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5575:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5586:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5571:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5571:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5591:2:7", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5564:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5564:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5564:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5614:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5625:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5610:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5610:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5630:34:7", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5603:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5603:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5603:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5685:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5696:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5681:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5681:18:7" - }, - { - "hexValue": "616c616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5701:8:7", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5674:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5674:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5674:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "5719:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5731:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5742:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5727:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5727:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5719:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5501:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5515:4:7", - "type": "" - } - ], - "src": "5350:402:7" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea264697066735822122075cb8410e2d70fc70e9716639fd2bda4b36dfecbcf01c4d0a9155fe53a5b93f964736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x136 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x15F JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x167 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x101 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x1A0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x69C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xDF PUSH2 0xDA CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x232 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x10F CALLDATASIZE PUSH1 0x4 PUSH2 0x730 JUMP JUMPDEST PUSH2 0x24C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC3 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x270 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x144 CALLDATASIZE PUSH1 0x4 PUSH2 0x76C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0xB6 PUSH2 0x292 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x175 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x2A1 JUMP JUMPDEST PUSH2 0xDF PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0x706 JUMP JUMPDEST PUSH2 0x321 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0x78E JUMP JUMPDEST PUSH2 0x32F JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1DB SWAP1 PUSH2 0x7C1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x228 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x228 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x20B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x35A JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x25A DUP6 DUP3 DUP6 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x265 DUP6 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x283 DUP4 DUP4 PUSH2 0x32F JUMP JUMPDEST PUSH2 0x28D SWAP2 SWAP1 PUSH2 0x7FB JUMP JUMPDEST PUSH2 0x35A JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x1AF SWAP1 PUSH2 0x7C1 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x2AF DUP3 DUP7 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x314 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x265 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x240 DUP2 DUP6 DUP6 PUSH2 0x4F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x3BC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x41D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x48A DUP5 DUP5 PUSH2 0x32F JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4F2 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x30B JUMP JUMPDEST PUSH2 0x4F2 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x35A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x55C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5BE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x636 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x30B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x4F2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x6C9 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x6AD JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x701 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x722 DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x745 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x74E DUP5 PUSH2 0x6EA JUMP JUMPDEST SWAP3 POP PUSH2 0x75C PUSH1 0x20 DUP6 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x77E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x787 DUP3 PUSH2 0x6EA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AA DUP4 PUSH2 0x6EA JUMP JUMPDEST SWAP2 POP PUSH2 0x7B8 PUSH1 0x20 DUP5 ADD PUSH2 0x6EA JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x7D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x7F5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x246 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0xCB8410E2D70FC70E9716639FD2BDA4B36DFECBCF01C4 0xD0 0xA9 ISZERO 0x5F 0xE5 GASPRICE JUMPDEST SWAP4 0xF9 PUSH5 0x736F6C6343 STOP ADDMOD SLT STOP CALLER ", - "sourceMap": "1401:11610:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:7;;1162:22;1144:41;;1132:2;1117:18;4431:197:1;1004:187:7;3242:106:1;3329:12;;3242:106;;;1342:25:7;;;1330:2;1315:18;3242:106:1;1196:177:7;5190:286:1;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1853:36:7;;1841:2;1826:18;3091:91:1;1711:184:7;5871:234:1;;;;;;:::i;:::-;;:::i;3406:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:1;3480:7;3506:18;;;;;;;;;;;;3406:125;2365:102;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2154:98::-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:5;4568:32:1;719:10:5;4584:7:1;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:5;5373:38:1;5389:4;719:10:5;5404:6:1;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:1;;5190:286;-1:-1:-1;;;;5190:286:1:o;5871:234::-;5959:4;719:10:5;6013:64:1;719:10:5;6029:7:1;6066:10;6038:25;719:10:5;6029:7:1;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:5;6685:4:1;6766:25;719:10:5;6783:7:1;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:1;;3170:2:7;6801:85:1;;;3152:21:7;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:7;;;3292:35;3344:19;;6801:85:1;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:5;3860:28:1;719:10:5;3877:2:1;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:1;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;10504:370::-;-1:-1:-1;;;;;10635:19:1;;10627:68;;;;-1:-1:-1;;;10627:68:1;;3576:2:7;10627:68:1;;;3558:21:7;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:7;;;3698:34;3749:19;;10627:68:1;3374:400:7;10627:68:1;-1:-1:-1;;;;;10713:21:1;;10705:68;;;;-1:-1:-1;;;10705:68:1;;3981:2:7;10705:68:1;;;3963:21:7;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:7;;;4103:32;4152:19;;10705:68:1;3779:398:7;10705:68:1;-1:-1:-1;;;;;10784:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1342:25:7;;;10835:32:1;;1315:18:7;10835:32:1;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:1;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:1;;4384:2:7;11404:68:1;;;4366:21:7;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11404:68:1;4182:353:7;11404:68:1;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:1;;7591:68;;;;-1:-1:-1;;;7591:68:1;;4742:2:7;7591:68:1;;;4724:21:7;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:7;;;4864:35;4916:19;;7591:68:1;4540:401:7;7591:68:1;-1:-1:-1;;;;;7677:16:1;;7669:64;;;;-1:-1:-1;;;7669:64:1;;5148:2:7;7669:64:1;;;5130:21:7;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:7;;;5270:33;5320:19;;7669:64:1;4946:399:7;7669:64:1;-1:-1:-1;;;;;7815:15:1;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:1;;5552:2:7;7840:72:1;;;5534:21:7;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:7;;;5674:36;5727:19;;7840:72:1;5350:402:7;7840:72:1;-1:-1:-1;;;;;7946:15:1;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1342:25:7;;;8161:13:1;;8210:26;;1315:18:7;8210:26:1;;;;;;;8247:37;12180:121;14:548:7;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:7;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:7:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:7:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "426000", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "allowance(address,address)": "infinite", - "approve(address,uint256)": "24628", - "balanceOf(address)": "2562", - "decimals()": "266", - "decreaseAllowance(address,uint256)": "27016", - "increaseAllowance(address,uint256)": "infinite", - "name()": "infinite", - "symbol()": "infinite", - "totalSupply()": "2326", - "transfer(address,uint256)": "51138", - "transferFrom(address,address,uint256)": "infinite" - }, - "internal": { - "_afterTokenTransfer(address,address,uint256)": "infinite", - "_approve(address,address,uint256)": "infinite", - "_beforeTokenTransfer(address,address,uint256)": "infinite", - "_burn(address,uint256)": "infinite", - "_mint(address,uint256)": "infinite", - "_spendAllowance(address,address,uint256)": "infinite", - "_transfer(address,address,uint256)": "infinite" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "80" - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1401, - "end": 13011, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "CALLVALUE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH [tag]", - "source": 1, - "value": "1" - }, - { - "begin": 1976, - "end": 2089, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "REVERT", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "tag", - "source": 1, - "value": "1" - }, - { - "begin": 1976, - "end": 2089, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSHSIZE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "CODESIZE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "SUB", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSHSIZE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP4", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "CODECOPY", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "ADD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH [tag]", - "source": 1, - "value": "2" - }, - { - "begin": 1976, - "end": 2089, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH [tag]", - "source": 1, - "value": "3" - }, - { - "begin": 1976, - "end": 2089, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "tag", - "source": 1, - "value": "2" - }, - { - "begin": 1976, - "end": 2089, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2042, - "end": 2047, - "name": "PUSH", - "source": 1, - "value": "3" - }, - { - "begin": 2042, - "end": 2055, - "name": "PUSH [tag]", - "source": 1, - "value": "6" - }, - { - "begin": 2050, - "end": 2055, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2042, - "end": 2047, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "PUSH [tag]", - "source": 1, - "value": "7" - }, - { - "begin": 2042, - "end": 2055, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "tag", - "source": 1, - "value": "6" - }, - { - "begin": 2042, - "end": 2055, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2065, - "end": 2072, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 2065, - "end": 2082, - "name": "PUSH [tag]", - "source": 1, - "value": "8" - }, - { - "begin": 2075, - "end": 2082, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2065, - "end": 2072, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "PUSH [tag]", - "source": 1, - "value": "7" - }, - { - "begin": 2065, - "end": 2082, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "tag", - "source": 1, - "value": "8" - }, - { - "begin": 2065, - "end": 2082, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "16" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMP", - "source": 1 - }, - { - "begin": 14, - "end": 141, - "name": "tag", - "source": 7, - "value": "10" - }, - { - "begin": 14, - "end": 141, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 75, - "end": 85, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 70, - "end": 73, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 66, - "end": 86, - "name": "SHL", - "source": 7 - }, - { - "begin": 63, - "end": 64, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 56, - "end": 87, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 106, - "end": 110, - "name": "PUSH", - "source": 7, - "value": "41" - }, - { - "begin": 103, - "end": 104, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 96, - "end": 111, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 130, - "end": 134, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 127, - "end": 128, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 120, - "end": 135, - "name": "REVERT", - "source": 7 - }, - { - "begin": 146, - "end": 986, - "name": "tag", - "source": 7, - "value": "11" - }, - { - "begin": 146, - "end": 986, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 200, - "end": 205, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 253, - "end": 256, - "name": "DUP3", - "source": 7 - }, - { - "begin": 246, - "end": 250, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 238, - "end": 244, - "name": "DUP4", - "source": 7 - }, - { - "begin": 234, - "end": 251, - "name": "ADD", - "source": 7 - }, - { - "begin": 230, - "end": 257, - "name": "SLT", - "source": 7 - }, - { - "begin": 220, - "end": 275, - "name": "PUSH [tag]", - "source": 7, - "value": "19" - }, - { - "begin": 220, - "end": 275, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 271, - "end": 272, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 268, - "end": 269, - "name": "DUP1", - "source": 7 - }, - { - "begin": 261, - "end": 273, - "name": "REVERT", - "source": 7 - }, - { - "begin": 220, - "end": 275, - "name": "tag", - "source": 7, - "value": "19" - }, - { - "begin": 220, - "end": 275, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 294, - "end": 307, - "name": "DUP2", - "source": 7 - }, - { - "begin": 294, - "end": 307, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "40" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 356, - "end": 366, - "name": "DUP1", - "source": 7 - }, - { - "begin": 356, - "end": 366, - "name": "DUP3", - "source": 7 - }, - { - "begin": 356, - "end": 366, - "name": "GT", - "source": 7 - }, - { - "begin": 353, - "end": 389, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 353, - "end": 389, - "name": "PUSH [tag]", - "source": 7, - "value": "21" - }, - { - "begin": 353, - "end": 389, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 369, - "end": 387, - "name": "PUSH [tag]", - "source": 7, - "value": "21" - }, - { - "begin": 369, - "end": 387, - "name": "PUSH [tag]", - "source": 7, - "value": "10" - }, - { - "begin": 369, - "end": 387, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 369, - "end": 387, - "name": "tag", - "source": 7, - "value": "21" - }, - { - "begin": 369, - "end": 387, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 444, - "end": 446, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 438, - "end": 447, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 412, - "end": 414, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 498, - "end": 511, - "name": "DUP4", - "source": 7 - }, - { - "begin": 498, - "end": 511, - "name": "ADD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1F" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 494, - "end": 516, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 494, - "end": 516, - "name": "DUP2", - "source": 7 - }, - { - "begin": 494, - "end": 516, - "name": "AND", - "source": 7 - }, - { - "begin": 518, - "end": 520, - "name": "PUSH", - "source": 7, - "value": "3F" - }, - { - "begin": 490, - "end": 521, - "name": "ADD", - "source": 7 - }, - { - "begin": 486, - "end": 526, - "name": "AND", - "source": 7 - }, - { - "begin": 474, - "end": 527, - "name": "DUP2", - "source": 7 - }, - { - "begin": 474, - "end": 527, - "name": "ADD", - "source": 7 - }, - { - "begin": 474, - "end": 527, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 542, - "end": 560, - "name": "DUP3", - "source": 7 - }, - { - "begin": 542, - "end": 560, - "name": "DUP3", - "source": 7 - }, - { - "begin": 542, - "end": 560, - "name": "GT", - "source": 7 - }, - { - "begin": 562, - "end": 584, - "name": "DUP2", - "source": 7 - }, - { - "begin": 562, - "end": 584, - "name": "DUP4", - "source": 7 - }, - { - "begin": 562, - "end": 584, - "name": "LT", - "source": 7 - }, - { - "begin": 539, - "end": 585, - "name": "OR", - "source": 7 - }, - { - "begin": 536, - "end": 608, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 536, - "end": 608, - "name": "PUSH [tag]", - "source": 7, - "value": "23" - }, - { - "begin": 536, - "end": 608, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 588, - "end": 606, - "name": "PUSH [tag]", - "source": 7, - "value": "23" - }, - { - "begin": 588, - "end": 606, - "name": "PUSH [tag]", - "source": 7, - "value": "10" - }, - { - "begin": 588, - "end": 606, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 588, - "end": 606, - "name": "tag", - "source": 7, - "value": "23" - }, - { - "begin": 588, - "end": 606, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 628, - "end": 638, - "name": "DUP2", - "source": 7 - }, - { - "begin": 624, - "end": 626, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 617, - "end": 639, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 663, - "end": 665, - "name": "DUP4", - "source": 7 - }, - { - "begin": 655, - "end": 661, - "name": "DUP2", - "source": 7 - }, - { - "begin": 648, - "end": 666, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 685, - "end": 689, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 675, - "end": 689, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 675, - "end": 689, - "name": "POP", - "source": 7 - }, - { - "begin": 730, - "end": 733, - "name": "DUP7", - "source": 7 - }, - { - "begin": 725, - "end": 727, - "name": "DUP4", - "source": 7 - }, - { - "begin": 720, - "end": 722, - "name": "DUP6", - "source": 7 - }, - { - "begin": 712, - "end": 718, - "name": "DUP9", - "source": 7 - }, - { - "begin": 708, - "end": 723, - "name": "ADD", - "source": 7 - }, - { - "begin": 704, - "end": 728, - "name": "ADD", - "source": 7 - }, - { - "begin": 701, - "end": 734, - "name": "GT", - "source": 7 - }, - { - "begin": 698, - "end": 751, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 698, - "end": 751, - "name": "PUSH [tag]", - "source": 7, - "value": "24" - }, - { - "begin": 698, - "end": 751, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 747, - "end": 748, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 744, - "end": 745, - "name": "DUP1", - "source": 7 - }, - { - "begin": 737, - "end": 749, - "name": "REVERT", - "source": 7 - }, - { - "begin": 698, - "end": 751, - "name": "tag", - "source": 7, - "value": "24" - }, - { - "begin": 698, - "end": 751, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 769, - "end": 770, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 760, - "end": 770, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 760, - "end": 770, - "name": "POP", - "source": 7 - }, - { - "begin": 779, - "end": 912, - "name": "tag", - "source": 7, - "value": "25" - }, - { - "begin": 779, - "end": 912, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 793, - "end": 795, - "name": "DUP4", - "source": 7 - }, - { - "begin": 790, - "end": 791, - "name": "DUP3", - "source": 7 - }, - { - "begin": 787, - "end": 796, - "name": "LT", - "source": 7 - }, - { - "begin": 779, - "end": 912, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 779, - "end": 912, - "name": "PUSH [tag]", - "source": 7, - "value": "27" - }, - { - "begin": 779, - "end": 912, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 881, - "end": 895, - "name": "DUP6", - "source": 7 - }, - { - "begin": 881, - "end": 895, - "name": "DUP3", - "source": 7 - }, - { - "begin": 881, - "end": 895, - "name": "ADD", - "source": 7 - }, - { - "begin": 877, - "end": 900, - "name": "DUP4", - "source": 7 - }, - { - "begin": 877, - "end": 900, - "name": "ADD", - "source": 7 - }, - { - "begin": 871, - "end": 901, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 850, - "end": 864, - "name": "DUP2", - "source": 7 - }, - { - "begin": 850, - "end": 864, - "name": "DUP4", - "source": 7 - }, - { - "begin": 850, - "end": 864, - "name": "ADD", - "source": 7 - }, - { - "begin": 846, - "end": 869, - "name": "DUP5", - "source": 7 - }, - { - "begin": 846, - "end": 869, - "name": "ADD", - "source": 7 - }, - { - "begin": 839, - "end": 902, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 804, - "end": 814, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 804, - "end": 814, - "name": "DUP3", - "source": 7 - }, - { - "begin": 804, - "end": 814, - "name": "ADD", - "source": 7 - }, - { - "begin": 804, - "end": 814, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 779, - "end": 912, - "name": "PUSH [tag]", - "source": 7, - "value": "25" - }, - { - "begin": 779, - "end": 912, - "name": "JUMP", - "source": 7 - }, - { - "begin": 779, - "end": 912, - "name": "tag", - "source": 7, - "value": "27" - }, - { - "begin": 779, - "end": 912, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 954, - "end": 955, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 932, - "end": 947, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 932, - "end": 947, - "name": "DUP2", - "source": 7 - }, - { - "begin": 932, - "end": 947, - "name": "ADD", - "source": 7 - }, - { - "begin": 928, - "end": 952, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 928, - "end": 952, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 928, - "end": 952, - "name": "ADD", - "source": 7 - }, - { - "begin": 921, - "end": 956, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 921, - "end": 956, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 921, - "end": 956, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 921, - "end": 956, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 936, - "end": 942, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 146, - "end": 986, - "name": "SWAP4", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 146, - "end": 986, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "tag", - "source": 7, - "value": "3" - }, - { - "begin": 991, - "end": 1553, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1090, - "end": 1096, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1098, - "end": 1104, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1151, - "end": 1153, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 1139, - "end": 1148, - "name": "DUP4", - "source": 7 - }, - { - "begin": 1130, - "end": 1137, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1126, - "end": 1149, - "name": "SUB", - "source": 7 - }, - { - "begin": 1122, - "end": 1154, - "name": "SLT", - "source": 7 - }, - { - "begin": 1119, - "end": 1171, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1119, - "end": 1171, - "name": "PUSH [tag]", - "source": 7, - "value": "29" - }, - { - "begin": 1119, - "end": 1171, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1167, - "end": 1168, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1164, - "end": 1165, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1157, - "end": 1169, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1119, - "end": 1171, - "name": "tag", - "source": 7, - "value": "29" - }, - { - "begin": 1119, - "end": 1171, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1194, - "end": 1210, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1194, - "end": 1210, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "40" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 1259, - "end": 1273, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1259, - "end": 1273, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1259, - "end": 1273, - "name": "GT", - "source": 7 - }, - { - "begin": 1256, - "end": 1290, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1256, - "end": 1290, - "name": "PUSH [tag]", - "source": 7, - "value": "30" - }, - { - "begin": 1256, - "end": 1290, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1286, - "end": 1287, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1283, - "end": 1284, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1276, - "end": 1288, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1256, - "end": 1290, - "name": "tag", - "source": 7, - "value": "30" - }, - { - "begin": 1256, - "end": 1290, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1309, - "end": 1370, - "name": "PUSH [tag]", - "source": 7, - "value": "31" - }, - { - "begin": 1362, - "end": 1369, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1353, - "end": 1359, - "name": "DUP4", - "source": 7 - }, - { - "begin": 1342, - "end": 1351, - "name": "DUP8", - "source": 7 - }, - { - "begin": 1338, - "end": 1360, - "name": "ADD", - "source": 7 - }, - { - "begin": 1309, - "end": 1370, - "name": "PUSH [tag]", - "source": 7, - "value": "11" - }, - { - "begin": 1309, - "end": 1370, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1309, - "end": 1370, - "name": "tag", - "source": 7, - "value": "31" - }, - { - "begin": 1309, - "end": 1370, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1299, - "end": 1370, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 1299, - "end": 1370, - "name": "POP", - "source": 7 - }, - { - "begin": 1416, - "end": 1418, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1405, - "end": 1414, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1401, - "end": 1419, - "name": "ADD", - "source": 7 - }, - { - "begin": 1395, - "end": 1420, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 1379, - "end": 1420, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1379, - "end": 1420, - "name": "POP", - "source": 7 - }, - { - "begin": 1445, - "end": 1447, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1435, - "end": 1443, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1432, - "end": 1448, - "name": "GT", - "source": 7 - }, - { - "begin": 1429, - "end": 1465, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1429, - "end": 1465, - "name": "PUSH [tag]", - "source": 7, - "value": "32" - }, - { - "begin": 1429, - "end": 1465, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1461, - "end": 1462, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1458, - "end": 1459, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1451, - "end": 1463, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1429, - "end": 1465, - "name": "tag", - "source": 7, - "value": "32" - }, - { - "begin": 1429, - "end": 1465, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1429, - "end": 1465, - "name": "POP", - "source": 7 - }, - { - "begin": 1484, - "end": 1547, - "name": "PUSH [tag]", - "source": 7, - "value": "33" - }, - { - "begin": 1539, - "end": 1546, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1528, - "end": 1536, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1517, - "end": 1526, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1513, - "end": 1537, - "name": "ADD", - "source": 7 - }, - { - "begin": 1484, - "end": 1547, - "name": "PUSH [tag]", - "source": 7, - "value": "11" - }, - { - "begin": 1484, - "end": 1547, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1484, - "end": 1547, - "name": "tag", - "source": 7, - "value": "33" - }, - { - "begin": 1484, - "end": 1547, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1474, - "end": 1547, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1474, - "end": 1547, - "name": "POP", - "source": 7 - }, - { - "begin": 1474, - "end": 1547, - "name": "POP", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "POP", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "name": "POP", - "source": 7 - }, - { - "begin": 991, - "end": 1553, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1558, - "end": 1938, - "name": "tag", - "source": 7, - "value": "12" - }, - { - "begin": 1558, - "end": 1938, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1637, - "end": 1638, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 1633, - "end": 1645, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1633, - "end": 1645, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1633, - "end": 1645, - "name": "SHR", - "source": 7 - }, - { - "begin": 1633, - "end": 1645, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1680, - "end": 1692, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1680, - "end": 1692, - "name": "AND", - "source": 7 - }, - { - "begin": 1680, - "end": 1692, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1701, - "end": 1762, - "name": "PUSH [tag]", - "source": 7, - "value": "35" - }, - { - "begin": 1701, - "end": 1762, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1755, - "end": 1759, - "name": "PUSH", - "source": 7, - "value": "7F" - }, - { - "begin": 1747, - "end": 1753, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1743, - "end": 1760, - "name": "AND", - "source": 7 - }, - { - "begin": 1733, - "end": 1760, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1733, - "end": 1760, - "name": "POP", - "source": 7 - }, - { - "begin": 1701, - "end": 1762, - "name": "tag", - "source": 7, - "value": "35" - }, - { - "begin": 1701, - "end": 1762, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1808, - "end": 1810, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1800, - "end": 1806, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1797, - "end": 1811, - "name": "LT", - "source": 7 - }, - { - "begin": 1777, - "end": 1795, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1774, - "end": 1812, - "name": "SUB", - "source": 7 - }, - { - "begin": 1771, - "end": 1932, - "name": "PUSH [tag]", - "source": 7, - "value": "36" - }, - { - "begin": 1771, - "end": 1932, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1854, - "end": 1864, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 1849, - "end": 1852, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 1845, - "end": 1865, - "name": "SHL", - "source": 7 - }, - { - "begin": 1842, - "end": 1843, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1835, - "end": 1866, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1889, - "end": 1893, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 1886, - "end": 1887, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 1879, - "end": 1894, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1917, - "end": 1921, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 1914, - "end": 1915, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1907, - "end": 1922, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1771, - "end": 1932, - "name": "tag", - "source": 7, - "value": "36" - }, - { - "begin": 1771, - "end": 1932, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1771, - "end": 1932, - "name": "POP", - "source": 7 - }, - { - "begin": 1558, - "end": 1938, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1558, - "end": 1938, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1558, - "end": 1938, - "name": "POP", - "source": 7 - }, - { - "begin": 1558, - "end": 1938, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2069, - "end": 2614, - "name": "tag", - "source": 7, - "value": "14" - }, - { - "begin": 2069, - "end": 2614, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2171, - "end": 2173, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 2166, - "end": 2169, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2163, - "end": 2174, - "name": "GT", - "source": 7 - }, - { - "begin": 2160, - "end": 2608, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2160, - "end": 2608, - "name": "PUSH [tag]", - "source": 7, - "value": "39" - }, - { - "begin": 2160, - "end": 2608, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2207, - "end": 2208, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2232, - "end": 2237, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2228, - "end": 2230, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2221, - "end": 2238, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2277, - "end": 2281, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2273, - "end": 2275, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2263, - "end": 2282, - "name": "KECCAK256", - "source": 7 - }, - { - "begin": 2347, - "end": 2349, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 2335, - "end": 2345, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2331, - "end": 2350, - "name": "ADD", - "source": 7 - }, - { - "begin": 2328, - "end": 2329, - "name": "PUSH", - "source": 7, - "value": "5" - }, - { - "begin": 2324, - "end": 2351, - "name": "SHR", - "source": 7 - }, - { - "begin": 2318, - "end": 2322, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2314, - "end": 2352, - "name": "ADD", - "source": 7 - }, - { - "begin": 2383, - "end": 2387, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2371, - "end": 2381, - "name": "DUP7", - "source": 7 - }, - { - "begin": 2368, - "end": 2388, - "name": "LT", - "source": 7 - }, - { - "begin": 2365, - "end": 2412, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2365, - "end": 2412, - "name": "PUSH [tag]", - "source": 7, - "value": "40" - }, - { - "begin": 2365, - "end": 2412, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2406, - "end": 2410, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2365, - "end": 2412, - "name": "tag", - "source": 7, - "value": "40" - }, - { - "begin": 2365, - "end": 2412, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2461, - "end": 2463, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 2456, - "end": 2459, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2452, - "end": 2464, - "name": "ADD", - "source": 7 - }, - { - "begin": 2449, - "end": 2450, - "name": "PUSH", - "source": 7, - "value": "5" - }, - { - "begin": 2445, - "end": 2465, - "name": "SHR", - "source": 7 - }, - { - "begin": 2439, - "end": 2443, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2435, - "end": 2466, - "name": "ADD", - "source": 7 - }, - { - "begin": 2425, - "end": 2466, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2425, - "end": 2466, - "name": "POP", - "source": 7 - }, - { - "begin": 2516, - "end": 2598, - "name": "tag", - "source": 7, - "value": "41" - }, - { - "begin": 2516, - "end": 2598, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2534, - "end": 2536, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2527, - "end": 2532, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2524, - "end": 2537, - "name": "LT", - "source": 7 - }, - { - "begin": 2516, - "end": 2598, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2516, - "end": 2598, - "name": "PUSH [tag]", - "source": 7, - "value": "43" - }, - { - "begin": 2516, - "end": 2598, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2579, - "end": 2596, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2579, - "end": 2596, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2579, - "end": 2596, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 2560, - "end": 2561, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2549, - "end": 2562, - "name": "ADD", - "source": 7 - }, - { - "begin": 2516, - "end": 2598, - "name": "PUSH [tag]", - "source": 7, - "value": "41" - }, - { - "begin": 2516, - "end": 2598, - "name": "JUMP", - "source": 7 - }, - { - "begin": 2516, - "end": 2598, - "name": "tag", - "source": 7, - "value": "43" - }, - { - "begin": 2516, - "end": 2598, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2520, - "end": 2523, - "name": "POP", - "source": 7 - }, - { - "begin": 2520, - "end": 2523, - "name": "POP", - "source": 7 - }, - { - "begin": 2520, - "end": 2523, - "name": "POP", - "source": 7 - }, - { - "begin": 2160, - "end": 2608, - "name": "tag", - "source": 7, - "value": "39" - }, - { - "begin": 2160, - "end": 2608, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2069, - "end": 2614, - "name": "POP", - "source": 7 - }, - { - "begin": 2069, - "end": 2614, - "name": "POP", - "source": 7 - }, - { - "begin": 2069, - "end": 2614, - "name": "POP", - "source": 7 - }, - { - "begin": 2069, - "end": 2614, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2790, - "end": 4142, - "name": "tag", - "source": 7, - "value": "7" - }, - { - "begin": 2790, - "end": 4142, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2910, - "end": 2920, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2910, - "end": 2920, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "40" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 2932, - "end": 2962, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2932, - "end": 2962, - "name": "GT", - "source": 7 - }, - { - "begin": 2929, - "end": 2985, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2929, - "end": 2985, - "name": "PUSH [tag]", - "source": 7, - "value": "47" - }, - { - "begin": 2929, - "end": 2985, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2965, - "end": 2983, - "name": "PUSH [tag]", - "source": 7, - "value": "47" - }, - { - "begin": 2965, - "end": 2983, - "name": "PUSH [tag]", - "source": 7, - "value": "10" - }, - { - "begin": 2965, - "end": 2983, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2965, - "end": 2983, - "name": "tag", - "source": 7, - "value": "47" - }, - { - "begin": 2965, - "end": 2983, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2994, - "end": 3091, - "name": "PUSH [tag]", - "source": 7, - "value": "48" - }, - { - "begin": 3084, - "end": 3090, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3044, - "end": 3082, - "name": "PUSH [tag]", - "source": 7, - "value": "49" - }, - { - "begin": 3076, - "end": 3080, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3070, - "end": 3081, - "name": "SLOAD", - "source": 7 - }, - { - "begin": 3044, - "end": 3082, - "name": "PUSH [tag]", - "source": 7, - "value": "12" - }, - { - "begin": 3044, - "end": 3082, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3044, - "end": 3082, - "name": "tag", - "source": 7, - "value": "49" - }, - { - "begin": 3044, - "end": 3082, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3038, - "end": 3042, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2994, - "end": 3091, - "name": "PUSH [tag]", - "source": 7, - "value": "14" - }, - { - "begin": 2994, - "end": 3091, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2994, - "end": 3091, - "name": "tag", - "source": 7, - "value": "48" - }, - { - "begin": 2994, - "end": 3091, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3146, - "end": 3150, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 3146, - "end": 3150, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3210, - "end": 3212, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 3199, - "end": 3213, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3199, - "end": 3213, - "name": "GT", - "source": 7 - }, - { - "begin": 3227, - "end": 3228, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3222, - "end": 3885, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3222, - "end": 3885, - "name": "EQ", - "source": 7 - }, - { - "begin": 3222, - "end": 3885, - "name": "PUSH [tag]", - "source": 7, - "value": "51" - }, - { - "begin": 3222, - "end": 3885, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3929, - "end": 3930, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3946, - "end": 3952, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3943, - "end": 4032, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3943, - "end": 4032, - "name": "PUSH [tag]", - "source": 7, - "value": "52" - }, - { - "begin": 3943, - "end": 4032, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3998, - "end": 4017, - "name": "DUP6", - "source": 7 - }, - { - "begin": 3998, - "end": 4017, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3998, - "end": 4017, - "name": "ADD", - "source": 7 - }, - { - "begin": 3992, - "end": 4018, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 3943, - "end": 4032, - "name": "tag", - "source": 7, - "value": "52" - }, - { - "begin": 3943, - "end": 4032, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 2747, - "end": 2748, - "name": "PUSH", - "source": 7, - "value": "3" - }, - { - "begin": 2743, - "end": 2754, - "name": "DUP7", - "source": 7 - }, - { - "begin": 2743, - "end": 2754, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2743, - "end": 2754, - "name": "SHL", - "source": 7 - }, - { - "begin": 2739, - "end": 2763, - "name": "SHR", - "source": 7 - }, - { - "begin": 2735, - "end": 2764, - "name": "NOT", - "source": 7 - }, - { - "begin": 2725, - "end": 2765, - "name": "AND", - "source": 7 - }, - { - "begin": 2771, - "end": 2772, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2767, - "end": 2778, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2767, - "end": 2778, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2767, - "end": 2778, - "name": "SHL", - "source": 7 - }, - { - "begin": 2722, - "end": 2779, - "name": "OR", - "source": 7 - }, - { - "begin": 4045, - "end": 4126, - "name": "DUP6", - "source": 7 - }, - { - "begin": 4045, - "end": 4126, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 3192, - "end": 4136, - "name": "PUSH [tag]", - "source": 7, - "value": "43" - }, - { - "begin": 3192, - "end": 4136, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3222, - "end": 3885, - "name": "tag", - "source": 7, - "value": "51" - }, - { - "begin": 3222, - "end": 3885, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2016, - "end": 2017, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2009, - "end": 2023, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2009, - "end": 2023, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2009, - "end": 2023, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2053, - "end": 2057, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2040, - "end": 2058, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2040, - "end": 2058, - "name": "KECCAK256", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1F" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 3258, - "end": 3278, - "name": "DUP7", - "source": 7 - }, - { - "begin": 3258, - "end": 3278, - "name": "AND", - "source": 7 - }, - { - "begin": 3258, - "end": 3278, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3376, - "end": 3612, - "name": "tag", - "source": 7, - "value": "55" - }, - { - "begin": 3376, - "end": 3612, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3390, - "end": 3397, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3387, - "end": 3388, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3384, - "end": 3398, - "name": "LT", - "source": 7 - }, - { - "begin": 3376, - "end": 3612, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3376, - "end": 3612, - "name": "PUSH [tag]", - "source": 7, - "value": "57" - }, - { - "begin": 3376, - "end": 3612, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3479, - "end": 3498, - "name": "DUP9", - "source": 7 - }, - { - "begin": 3479, - "end": 3498, - "name": "DUP7", - "source": 7 - }, - { - "begin": 3479, - "end": 3498, - "name": "ADD", - "source": 7 - }, - { - "begin": 3473, - "end": 3499, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 3458, - "end": 3500, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3458, - "end": 3500, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 3571, - "end": 3598, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 3571, - "end": 3598, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3571, - "end": 3598, - "name": "ADD", - "source": 7 - }, - { - "begin": 3571, - "end": 3598, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 3539, - "end": 3540, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3527, - "end": 3541, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3527, - "end": 3541, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3527, - "end": 3541, - "name": "ADD", - "source": 7 - }, - { - "begin": 3527, - "end": 3541, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3406, - "end": 3425, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3406, - "end": 3425, - "name": "ADD", - "source": 7 - }, - { - "begin": 3376, - "end": 3612, - "name": "PUSH [tag]", - "source": 7, - "value": "55" - }, - { - "begin": 3376, - "end": 3612, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3376, - "end": 3612, - "name": "tag", - "source": 7, - "value": "57" - }, - { - "begin": 3376, - "end": 3612, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3380, - "end": 3383, - "name": "POP", - "source": 7 - }, - { - "begin": 3640, - "end": 3646, - "name": "DUP6", - "source": 7 - }, - { - "begin": 3631, - "end": 3638, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3628, - "end": 3647, - "name": "LT", - "source": 7 - }, - { - "begin": 3625, - "end": 3826, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3625, - "end": 3826, - "name": "PUSH [tag]", - "source": 7, - "value": "58" - }, - { - "begin": 3625, - "end": 3826, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3701, - "end": 3720, - "name": "DUP8", - "source": 7 - }, - { - "begin": 3701, - "end": 3720, - "name": "DUP6", - "source": 7 - }, - { - "begin": 3701, - "end": 3720, - "name": "ADD", - "source": 7 - }, - { - "begin": 3695, - "end": 3721, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 3784, - "end": 3785, - "name": "PUSH", - "source": 7, - "value": "3" - }, - { - "begin": 3780, - "end": 3794, - "name": "DUP9", - "source": 7 - }, - { - "begin": 3780, - "end": 3794, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3780, - "end": 3794, - "name": "SHL", - "source": 7 - }, - { - "begin": 3796, - "end": 3799, - "name": "PUSH", - "source": 7, - "value": "F8" - }, - { - "begin": 3776, - "end": 3800, - "name": "AND", - "source": 7 - }, - { - "begin": 3772, - "end": 3809, - "name": "SHR", - "source": 7 - }, - { - "begin": 3768, - "end": 3810, - "name": "NOT", - "source": 7 - }, - { - "begin": 3753, - "end": 3811, - "name": "AND", - "source": 7 - }, - { - "begin": 3738, - "end": 3812, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3738, - "end": 3812, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 3625, - "end": 3826, - "name": "tag", - "source": 7, - "value": "58" - }, - { - "begin": 3625, - "end": 3826, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3872, - "end": 3873, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3856, - "end": 3870, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3856, - "end": 3870, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3856, - "end": 3870, - "name": "SHL", - "source": 7 - }, - { - "begin": 3852, - "end": 3874, - "name": "ADD", - "source": 7 - }, - { - "begin": 3839, - "end": 3875, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3839, - "end": 3875, - "name": "SSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2790, - "end": 4142, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2790, - "end": 4142, - "name": "tag", - "source": 7, - "value": "16" - }, - { - "begin": 2790, - "end": 4142, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH #[$]", - "source": 1, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [$]", - "source": 1, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "CODECOPY", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "RETURN", - "source": 1 - } - ], - ".data": { - "0": { - ".auxdata": "a264697066735822122075cb8410e2d70fc70e9716639fd2bda4b36dfecbcf01c4d0a9155fe53a5b93f964736f6c63430008120033", - ".code": [ - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "80" - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1401, - "end": 13011, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "CALLVALUE", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "1" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "REVERT", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "tag", - "source": 1, - "value": "1" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "POP", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 1401, - "end": 13011, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "LT", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "2" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "CALLDATALOAD", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "E0" - }, - { - "begin": 1401, - "end": 13011, - "name": "SHR", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "39509351" - }, - { - "begin": 1401, - "end": 13011, - "name": "GT", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "14" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "39509351" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "8" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "70A08231" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "9" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "95D89B41" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "10" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "A457C2D7" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "11" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "A9059CBB" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "12" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "DD62ED3E" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "13" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "REVERT", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "tag", - "source": 1, - "value": "14" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "6FDDE03" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "3" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "95EA7B3" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "4" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "18160DDD" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "5" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "23B872DD" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "6" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "313CE567" - }, - { - "begin": 1401, - "end": 13011, - "name": "EQ", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH [tag]", - "source": 1, - "value": "7" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "tag", - "source": 1, - "value": "2" - }, - { - "begin": 1401, - "end": 13011, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 1401, - "end": 13011, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1401, - "end": 13011, - "name": "REVERT", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "3" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "15" - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "16" - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "15" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2154, - "end": 2252, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "17" - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "18" - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "17" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2154, - "end": 2252, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SUB", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "RETURN", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "4" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "19" - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "20" - }, - { - "begin": 4431, - "end": 4628, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "21" - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "20" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "22" - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "19" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 4431, - "end": 4628, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1169, - "end": 1183, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1169, - "end": 1183, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1162, - "end": 1184, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1144, - "end": 1185, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1144, - "end": 1185, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1132, - "end": 1134, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1117, - "end": 1135, - "name": "ADD", - "source": 7 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "17" - }, - { - "begin": 1004, - "end": 1191, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3242, - "end": 3348, - "name": "tag", - "source": 1, - "value": "5" - }, - { - "begin": 3242, - "end": 3348, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3329, - "end": 3341, - "name": "PUSH", - "source": 1, - "value": "2" - }, - { - "begin": 3329, - "end": 3341, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 3242, - "end": 3348, - "name": "tag", - "source": 1, - "value": "25" - }, - { - "begin": 3242, - "end": 3348, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3242, - "end": 3348, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3242, - "end": 3348, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1330, - "end": 1332, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 3242, - "end": 3348, - "name": "PUSH [tag]", - "source": 1, - "value": "17" - }, - { - "begin": 1196, - "end": 1373, - "name": "JUMP", - "source": 7 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "6" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "19" - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "30" - }, - { - "begin": 5190, - "end": 5476, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "31" - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "30" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "32" - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3091, - "end": 3182, - "name": "tag", - "source": 1, - "value": "7" - }, - { - "begin": 3091, - "end": 3182, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3091, - "end": 3182, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3091, - "end": 3182, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 3173, - "end": 3175, - "name": "PUSH", - "source": 1, - "value": "12" - }, - { - "begin": 1853, - "end": 1889, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1853, - "end": 1889, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1841, - "end": 1843, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1826, - "end": 1844, - "name": "ADD", - "source": 7 - }, - { - "begin": 3091, - "end": 3182, - "name": "PUSH [tag]", - "source": 1, - "value": "17" - }, - { - "begin": 1711, - "end": 1895, - "name": "JUMP", - "source": 7 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "8" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "19" - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "39" - }, - { - "begin": 5871, - "end": 6105, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "21" - }, - { - "begin": 5871, - "end": 6105, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "39" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "40" - }, - { - "begin": 5871, - "end": 6105, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "tag", - "source": 1, - "value": "9" - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "25" - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "43" - }, - { - "begin": 3406, - "end": 3531, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "44" - }, - { - "begin": 3406, - "end": 3531, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "tag", - "source": 1, - "value": "43" - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 3506, - "end": 3524, - "name": "AND", - "source": 1 - }, - { - "begin": 3480, - "end": 3487, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "DUP2", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 3506, - "end": 3524, - "name": "DUP2", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMP", - "source": 1 - }, - { - "begin": 2365, - "end": 2467, - "name": "tag", - "source": 1, - "value": "10" - }, - { - "begin": 2365, - "end": 2467, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2365, - "end": 2467, - "name": "PUSH [tag]", - "source": 1, - "value": "15" - }, - { - "begin": 2365, - "end": 2467, - "name": "PUSH [tag]", - "source": 1, - "value": "48" - }, - { - "begin": 2365, - "end": 2467, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "11" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "19" - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "51" - }, - { - "begin": 6592, - "end": 7019, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "21" - }, - { - "begin": 6592, - "end": 7019, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "51" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "52" - }, - { - "begin": 6592, - "end": 7019, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "12" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "19" - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "55" - }, - { - "begin": 3727, - "end": 3916, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "21" - }, - { - "begin": 3727, - "end": 3916, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "55" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "56" - }, - { - "begin": 3727, - "end": 3916, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "13" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "25" - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "59" - }, - { - "begin": 3974, - "end": 4123, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "60" - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "59" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "61" - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "16" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2208, - "end": 2221, - "name": "PUSH", - "source": 1, - "value": "60" - }, - { - "begin": 2240, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "3" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "64" - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "65" - }, - { - "begin": 2233, - "end": 2245, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "64" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DIV", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MUL", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2233, - "end": 2245, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "66" - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "65" - }, - { - "begin": 2233, - "end": 2245, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "66" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "67" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "LT", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "68" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "100" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DIV", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MUL", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "67" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "68" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 2233, - "end": 2245, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "69" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "GT", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "69" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SUB", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "AND", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "67" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "22" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4514, - "end": 4518, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 4568, - "end": 4600, - "name": "PUSH [tag]", - "source": 1, - "value": "73" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 4584, - "end": 4591, - "name": "DUP6", - "source": 1 - }, - { - "begin": 4593, - "end": 4599, - "name": "DUP6", - "source": 1 - }, - { - "begin": 4568, - "end": 4576, - "name": "PUSH [tag]", - "source": 1, - "value": "74" - }, - { - "begin": 4568, - "end": 4600, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4568, - "end": 4600, - "name": "tag", - "source": 1, - "value": "73" - }, - { - "begin": 4568, - "end": 4600, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4617, - "end": 4621, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 4610, - "end": 4621, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4610, - "end": 4621, - "name": "POP", - "source": 1 - }, - { - "begin": 4610, - "end": 4621, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "70" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "32" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5317, - "end": 5321, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 5373, - "end": 5411, - "name": "PUSH [tag]", - "source": 1, - "value": "78" - }, - { - "begin": 5389, - "end": 5393, - "name": "DUP6", - "source": 1 - }, - { - "begin": 719, - "end": 729, - "name": "DUP3", - "source": 5 - }, - { - "begin": 5404, - "end": 5410, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5373, - "end": 5388, - "name": "PUSH [tag]", - "source": 1, - "value": "79" - }, - { - "begin": 5373, - "end": 5411, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5373, - "end": 5411, - "name": "tag", - "source": 1, - "value": "78" - }, - { - "begin": 5373, - "end": 5411, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5421, - "end": 5448, - "name": "PUSH [tag]", - "source": 1, - "value": "80" - }, - { - "begin": 5431, - "end": 5435, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5437, - "end": 5439, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5441, - "end": 5447, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5421, - "end": 5430, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 5421, - "end": 5448, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5421, - "end": 5448, - "name": "tag", - "source": 1, - "value": "80" - }, - { - "begin": 5421, - "end": 5448, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 5465, - "end": 5469, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 5465, - "end": 5469, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "SWAP4", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "40" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5959, - "end": 5963, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 6013, - "end": 6077, - "name": "PUSH [tag]", - "source": 1, - "value": "73" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 6029, - "end": 6036, - "name": "DUP6", - "source": 1 - }, - { - "begin": 6066, - "end": 6076, - "name": "DUP6", - "source": 1 - }, - { - "begin": 6038, - "end": 6063, - "name": "PUSH [tag]", - "source": 1, - "value": "86" - }, - { - "begin": 719, - "end": 729, - "name": "DUP4", - "source": 5 - }, - { - "begin": 6029, - "end": 6036, - "name": "DUP4", - "source": 1 - }, - { - "begin": 6038, - "end": 6047, - "name": "PUSH [tag]", - "source": 1, - "value": "61" - }, - { - "begin": 6038, - "end": 6063, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6038, - "end": 6063, - "name": "tag", - "source": 1, - "value": "86" - }, - { - "begin": 6038, - "end": 6063, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "PUSH [tag]", - "source": 1, - "value": "87" - }, - { - "begin": 6038, - "end": 6076, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "PUSH [tag]", - "source": 1, - "value": "88" - }, - { - "begin": 6038, - "end": 6076, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "tag", - "source": 1, - "value": "87" - }, - { - "begin": 6038, - "end": 6076, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6013, - "end": 6021, - "name": "PUSH [tag]", - "source": 1, - "value": "74" - }, - { - "begin": 6013, - "end": 6077, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2365, - "end": 2467, - "name": "tag", - "source": 1, - "value": "48" - }, - { - "begin": 2365, - "end": 2467, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2421, - "end": 2434, - "name": "PUSH", - "source": 1, - "value": "60" - }, - { - "begin": 2453, - "end": 2460, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 2446, - "end": 2460, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "PUSH [tag]", - "source": 1, - "value": "64" - }, - { - "begin": 2446, - "end": 2460, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "PUSH [tag]", - "source": 1, - "value": "65" - }, - { - "begin": 2446, - "end": 2460, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "52" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6685, - "end": 6689, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 6685, - "end": 6689, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6766, - "end": 6791, - "name": "PUSH [tag]", - "source": 1, - "value": "98" - }, - { - "begin": 719, - "end": 729, - "name": "DUP3", - "source": 5 - }, - { - "begin": 6783, - "end": 6790, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6766, - "end": 6775, - "name": "PUSH [tag]", - "source": 1, - "value": "61" - }, - { - "begin": 6766, - "end": 6791, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6766, - "end": 6791, - "name": "tag", - "source": 1, - "value": "98" - }, - { - "begin": 6766, - "end": 6791, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6739, - "end": 6791, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6739, - "end": 6791, - "name": "POP", - "source": 1 - }, - { - "begin": 6829, - "end": 6844, - "name": "DUP4", - "source": 1 - }, - { - "begin": 6809, - "end": 6825, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6809, - "end": 6844, - "name": "LT", - "source": 1 - }, - { - "begin": 6809, - "end": 6844, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH [tag]", - "source": 1, - "value": "99" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 6801, - "end": 6886, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3170, - "end": 3172, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP3", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "ADD", - "source": 1 - }, - { - "begin": 3152, - "end": 3173, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3209, - "end": 3211, - "name": "PUSH", - "source": 7, - "value": "25" - }, - { - "begin": 3189, - "end": 3207, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3189, - "end": 3207, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3189, - "end": 3207, - "name": "ADD", - "source": 7 - }, - { - "begin": 3182, - "end": 3212, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3248, - "end": 3282, - "name": "PUSH", - "source": 7, - "value": "45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77" - }, - { - "begin": 3228, - "end": 3246, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 3228, - "end": 3246, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3228, - "end": 3246, - "name": "ADD", - "source": 7 - }, - { - "begin": 3221, - "end": 3283, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "207A65726F" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 3299, - "end": 3317, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 3299, - "end": 3317, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3299, - "end": 3317, - "name": "ADD", - "source": 7 - }, - { - "begin": 3292, - "end": 3327, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3344, - "end": 3363, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 3344, - "end": 3363, - "name": "ADD", - "source": 7 - }, - { - "begin": 6801, - "end": 6886, - "name": "tag", - "source": 1, - "value": "100" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 6801, - "end": 6886, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP1", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SUB", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "REVERT", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "tag", - "source": 1, - "value": "99" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6920, - "end": 6980, - "name": "PUSH [tag]", - "source": 1, - "value": "80" - }, - { - "begin": 6929, - "end": 6934, - "name": "DUP3", - "source": 1 - }, - { - "begin": 6936, - "end": 6943, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6964, - "end": 6979, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6945, - "end": 6961, - "name": "DUP5", - "source": 1 - }, - { - "begin": 6945, - "end": 6979, - "name": "SUB", - "source": 1 - }, - { - "begin": 6920, - "end": 6928, - "name": "PUSH [tag]", - "source": 1, - "value": "74" - }, - { - "begin": 6920, - "end": 6980, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "56" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3806, - "end": 3810, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 3860, - "end": 3888, - "name": "PUSH [tag]", - "source": 1, - "value": "73" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 3877, - "end": 3879, - "name": "DUP6", - "source": 1 - }, - { - "begin": 3881, - "end": 3887, - "name": "DUP6", - "source": 1 - }, - { - "begin": 3860, - "end": 3869, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 3860, - "end": 3888, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "61" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP3", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "AND", - "source": 1 - }, - { - "begin": 4063, - "end": 4070, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4100, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 4089, - "end": 4107, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP4", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP4", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "AND", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "DUP3", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "tag", - "source": 1, - "value": "74" - }, - { - "begin": 10504, - "end": 10874, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10635, - "end": 10654, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10635, - "end": 10654, - "name": "AND", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH [tag]", - "source": 1, - "value": "109" - }, - { - "begin": 10627, - "end": 10695, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10627, - "end": 10695, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 10627, - "end": 10695, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3576, - "end": 3578, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 10627, - "end": 10695, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "ADD", - "source": 1 - }, - { - "begin": 3558, - "end": 3579, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3615, - "end": 3617, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3595, - "end": 3613, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3595, - "end": 3613, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3595, - "end": 3613, - "name": "ADD", - "source": 7 - }, - { - "begin": 3588, - "end": 3618, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3654, - "end": 3688, - "name": "PUSH", - "source": 7, - "value": "45524332303A20617070726F76652066726F6D20746865207A65726F20616464" - }, - { - "begin": 3634, - "end": 3652, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 3634, - "end": 3652, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3634, - "end": 3652, - "name": "ADD", - "source": 7 - }, - { - "begin": 3627, - "end": 3689, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "72657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 3705, - "end": 3723, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 3705, - "end": 3723, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3705, - "end": 3723, - "name": "ADD", - "source": 7 - }, - { - "begin": 3698, - "end": 3732, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3749, - "end": 3768, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 3749, - "end": 3768, - "name": "ADD", - "source": 7 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 3374, - "end": 3774, - "name": "JUMP", - "source": 7 - }, - { - "begin": 10627, - "end": 10695, - "name": "tag", - "source": 1, - "value": "109" - }, - { - "begin": 10627, - "end": 10695, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10713, - "end": 10734, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10713, - "end": 10734, - "name": "AND", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH [tag]", - "source": 1, - "value": "112" - }, - { - "begin": 10705, - "end": 10773, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10705, - "end": 10773, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 10705, - "end": 10773, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3981, - "end": 3983, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 10705, - "end": 10773, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "ADD", - "source": 1 - }, - { - "begin": 3963, - "end": 3984, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4020, - "end": 4022, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 4000, - "end": 4018, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4000, - "end": 4018, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4000, - "end": 4018, - "name": "ADD", - "source": 7 - }, - { - "begin": 3993, - "end": 4023, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4059, - "end": 4093, - "name": "PUSH", - "source": 7, - "value": "45524332303A20617070726F766520746F20746865207A65726F206164647265" - }, - { - "begin": 4039, - "end": 4057, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4039, - "end": 4057, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4039, - "end": 4057, - "name": "ADD", - "source": 7 - }, - { - "begin": 4032, - "end": 4094, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "7373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "F0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 4110, - "end": 4128, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4110, - "end": 4128, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4110, - "end": 4128, - "name": "ADD", - "source": 7 - }, - { - "begin": 4103, - "end": 4135, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4152, - "end": 4171, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 4152, - "end": 4171, - "name": "ADD", - "source": 7 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 3779, - "end": 4177, - "name": "JUMP", - "source": 7 - }, - { - "begin": 10705, - "end": 10773, - "name": "tag", - "source": 1, - "value": "112" - }, - { - "begin": 10705, - "end": 10773, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "AND", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10795, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 10784, - "end": 10802, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP8", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "AND", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "DUP6", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 10835, - "end": 10867, - "name": "PUSH", - "source": 1, - "value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 10835, - "end": 10867, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10835, - "end": 10867, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SUB", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "LOG3", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "tag", - "source": 1, - "value": "79" - }, - { - "begin": 11155, - "end": 11596, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11285, - "end": 11309, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 11312, - "end": 11337, - "name": "PUSH [tag]", - "source": 1, - "value": "117" - }, - { - "begin": 11322, - "end": 11327, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11329, - "end": 11336, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11312, - "end": 11321, - "name": "PUSH [tag]", - "source": 1, - "value": "61" - }, - { - "begin": 11312, - "end": 11337, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11312, - "end": 11337, - "name": "tag", - "source": 1, - "value": "117" - }, - { - "begin": 11312, - "end": 11337, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11285, - "end": 11337, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 11285, - "end": 11337, - "name": "POP", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 11351, - "end": 11367, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11351, - "end": 11388, - "name": "EQ", - "source": 1 - }, - { - "begin": 11347, - "end": 11590, - "name": "PUSH [tag]", - "source": 1, - "value": "122" - }, - { - "begin": 11347, - "end": 11590, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 11432, - "end": 11438, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11412, - "end": 11428, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11412, - "end": 11438, - "name": "LT", - "source": 1 - }, - { - "begin": 11412, - "end": 11438, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH [tag]", - "source": 1, - "value": "119" - }, - { - "begin": 11404, - "end": 11472, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 11404, - "end": 11472, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 11404, - "end": 11472, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4384, - "end": 4386, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 11404, - "end": 11472, - "name": "DUP3", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "ADD", - "source": 1 - }, - { - "begin": 4366, - "end": 4387, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4423, - "end": 4425, - "name": "PUSH", - "source": 7, - "value": "1D" - }, - { - "begin": 4403, - "end": 4421, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4403, - "end": 4421, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4403, - "end": 4421, - "name": "ADD", - "source": 7 - }, - { - "begin": 4396, - "end": 4426, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4462, - "end": 4493, - "name": "PUSH", - "source": 7, - "value": "45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000" - }, - { - "begin": 4442, - "end": 4460, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4442, - "end": 4460, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4442, - "end": 4460, - "name": "ADD", - "source": 7 - }, - { - "begin": 4435, - "end": 4494, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4511, - "end": 4529, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4511, - "end": 4529, - "name": "ADD", - "source": 7 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 4182, - "end": 4535, - "name": "JUMP", - "source": 7 - }, - { - "begin": 11404, - "end": 11472, - "name": "tag", - "source": 1, - "value": "119" - }, - { - "begin": 11404, - "end": 11472, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11514, - "end": 11565, - "name": "PUSH [tag]", - "source": 1, - "value": "122" - }, - { - "begin": 11523, - "end": 11528, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11530, - "end": 11537, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11558, - "end": 11564, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11539, - "end": 11555, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11539, - "end": 11564, - "name": "SUB", - "source": 1 - }, - { - "begin": 11514, - "end": 11522, - "name": "PUSH [tag]", - "source": 1, - "value": "74" - }, - { - "begin": 11514, - "end": 11565, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11514, - "end": 11565, - "name": "tag", - "source": 1, - "value": "122" - }, - { - "begin": 11514, - "end": 11565, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11275, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 7473, - "end": 8291, - "name": "tag", - "source": 1, - "value": "81" - }, - { - "begin": 7473, - "end": 8291, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7599, - "end": 7617, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7599, - "end": 7617, - "name": "AND", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH [tag]", - "source": 1, - "value": "124" - }, - { - "begin": 7591, - "end": 7659, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7591, - "end": 7659, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7591, - "end": 7659, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4742, - "end": 4744, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7591, - "end": 7659, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "ADD", - "source": 1 - }, - { - "begin": 4724, - "end": 4745, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4781, - "end": 4783, - "name": "PUSH", - "source": 7, - "value": "25" - }, - { - "begin": 4761, - "end": 4779, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4761, - "end": 4779, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4761, - "end": 4779, - "name": "ADD", - "source": 7 - }, - { - "begin": 4754, - "end": 4784, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4820, - "end": 4854, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E736665722066726F6D20746865207A65726F206164" - }, - { - "begin": 4800, - "end": 4818, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4800, - "end": 4818, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4800, - "end": 4818, - "name": "ADD", - "source": 7 - }, - { - "begin": 4793, - "end": 4855, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "6472657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 4871, - "end": 4889, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4871, - "end": 4889, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4871, - "end": 4889, - "name": "ADD", - "source": 7 - }, - { - "begin": 4864, - "end": 4899, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4916, - "end": 4935, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 4916, - "end": 4935, - "name": "ADD", - "source": 7 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 4540, - "end": 4941, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7591, - "end": 7659, - "name": "tag", - "source": 1, - "value": "124" - }, - { - "begin": 7591, - "end": 7659, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7677, - "end": 7693, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7677, - "end": 7693, - "name": "AND", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH [tag]", - "source": 1, - "value": "127" - }, - { - "begin": 7669, - "end": 7733, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7669, - "end": 7733, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7669, - "end": 7733, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 5148, - "end": 5150, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7669, - "end": 7733, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "ADD", - "source": 1 - }, - { - "begin": 5130, - "end": 5151, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5187, - "end": 5189, - "name": "PUSH", - "source": 7, - "value": "23" - }, - { - "begin": 5167, - "end": 5185, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 5167, - "end": 5185, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5167, - "end": 5185, - "name": "ADD", - "source": 7 - }, - { - "begin": 5160, - "end": 5190, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5226, - "end": 5260, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E7366657220746F20746865207A65726F2061646472" - }, - { - "begin": 5206, - "end": 5224, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 5206, - "end": 5224, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5206, - "end": 5224, - "name": "ADD", - "source": 7 - }, - { - "begin": 5199, - "end": 5261, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 5277, - "end": 5295, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 5277, - "end": 5295, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5277, - "end": 5295, - "name": "ADD", - "source": 7 - }, - { - "begin": 5270, - "end": 5303, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5320, - "end": 5339, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 5320, - "end": 5339, - "name": "ADD", - "source": 7 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 4946, - "end": 5345, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7669, - "end": 7733, - "name": "tag", - "source": 1, - "value": "127" - }, - { - "begin": 7669, - "end": 7733, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "AND", - "source": 1 - }, - { - "begin": 7793, - "end": 7812, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "LT", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH [tag]", - "source": 1, - "value": "132" - }, - { - "begin": 7840, - "end": 7912, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7840, - "end": 7912, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7840, - "end": 7912, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 5552, - "end": 5554, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7840, - "end": 7912, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "ADD", - "source": 1 - }, - { - "begin": 5534, - "end": 5555, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5591, - "end": 5593, - "name": "PUSH", - "source": 7, - "value": "26" - }, - { - "begin": 5571, - "end": 5589, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 5571, - "end": 5589, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5571, - "end": 5589, - "name": "ADD", - "source": 7 - }, - { - "begin": 5564, - "end": 5594, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5630, - "end": 5664, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E7366657220616D6F756E7420657863656564732062" - }, - { - "begin": 5610, - "end": 5628, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 5610, - "end": 5628, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5610, - "end": 5628, - "name": "ADD", - "source": 7 - }, - { - "begin": 5603, - "end": 5665, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "616C616E6365" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 5681, - "end": 5699, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 5681, - "end": 5699, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5681, - "end": 5699, - "name": "ADD", - "source": 7 - }, - { - "begin": 5674, - "end": 5710, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5727, - "end": 5746, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 5727, - "end": 5746, - "name": "ADD", - "source": 7 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH [tag]", - "source": 1, - "value": "100" - }, - { - "begin": 5350, - "end": 5752, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7840, - "end": 7912, - "name": "tag", - "source": 1, - "value": "132" - }, - { - "begin": 7840, - "end": 7912, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP5", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "AND", - "source": 1 - }, - { - "begin": 7946, - "end": 7955, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP1", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "DUP8", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "DUP8", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "SUB", - "source": 1 - }, - { - "begin": 7946, - "end": 7984, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7946, - "end": 7984, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP4", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP8", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "AND", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP4", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP5", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "DUP8", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "ADD", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "PUSH", - "source": 1, - "value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 8210, - "end": 8236, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8210, - "end": 8236, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SUB", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "LOG3", - "source": 1 - }, - { - "begin": 8247, - "end": 8284, - "name": "PUSH [tag]", - "source": 1, - "value": "122" - }, - { - "begin": 12180, - "end": 12301, - "name": "JUMP", - "source": 1 - }, - { - "begin": 14, - "end": 562, - "name": "tag", - "source": 7, - "value": "18" - }, - { - "begin": 14, - "end": 562, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 126, - "end": 130, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 155, - "end": 157, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 184, - "end": 186, - "name": "DUP1", - "source": 7 - }, - { - "begin": 173, - "end": 182, - "name": "DUP4", - "source": 7 - }, - { - "begin": 166, - "end": 187, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 216, - "end": 222, - "name": "DUP4", - "source": 7 - }, - { - "begin": 210, - "end": 223, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 259, - "end": 265, - "name": "DUP1", - "source": 7 - }, - { - "begin": 254, - "end": 256, - "name": "DUP3", - "source": 7 - }, - { - "begin": 243, - "end": 252, - "name": "DUP6", - "source": 7 - }, - { - "begin": 239, - "end": 257, - "name": "ADD", - "source": 7 - }, - { - "begin": 232, - "end": 266, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 284, - "end": 285, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 294, - "end": 434, - "name": "tag", - "source": 7, - "value": "143" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 308, - "end": 314, - "name": "DUP2", - "source": 7 - }, - { - "begin": 305, - "end": 306, - "name": "DUP2", - "source": 7 - }, - { - "begin": 302, - "end": 315, - "name": "LT", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "PUSH [tag]", - "source": 7, - "value": "145" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "DUP6", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "DUP2", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "ADD", - "source": 7 - }, - { - "begin": 399, - "end": 422, - "name": "DUP4", - "source": 7 - }, - { - "begin": 399, - "end": 422, - "name": "ADD", - "source": 7 - }, - { - "begin": 393, - "end": 423, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "DUP6", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "DUP3", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "ADD", - "source": 7 - }, - { - "begin": 388, - "end": 390, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 365, - "end": 391, - "name": "ADD", - "source": 7 - }, - { - "begin": 358, - "end": 424, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 323, - "end": 333, - "name": "DUP3", - "source": 7 - }, - { - "begin": 323, - "end": 333, - "name": "ADD", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "PUSH [tag]", - "source": 7, - "value": "143" - }, - { - "begin": 294, - "end": 434, - "name": "JUMP", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "tag", - "source": 7, - "value": "145" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 298, - "end": 301, - "name": "POP", - "source": 7 - }, - { - "begin": 483, - "end": 484, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 478, - "end": 480, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 469, - "end": 475, - "name": "DUP3", - "source": 7 - }, - { - "begin": 458, - "end": 467, - "name": "DUP7", - "source": 7 - }, - { - "begin": 454, - "end": 476, - "name": "ADD", - "source": 7 - }, - { - "begin": 450, - "end": 481, - "name": "ADD", - "source": 7 - }, - { - "begin": 443, - "end": 485, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 553, - "end": 555, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 546, - "end": 548, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 542, - "end": 549, - "name": "NOT", - "source": 7 - }, - { - "begin": 537, - "end": 539, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 529, - "end": 535, - "name": "DUP4", - "source": 7 - }, - { - "begin": 525, - "end": 540, - "name": "ADD", - "source": 7 - }, - { - "begin": 521, - "end": 550, - "name": "AND", - "source": 7 - }, - { - "begin": 510, - "end": 519, - "name": "DUP6", - "source": 7 - }, - { - "begin": 506, - "end": 551, - "name": "ADD", - "source": 7 - }, - { - "begin": 502, - "end": 556, - "name": "ADD", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "tag", - "source": 7, - "value": "140" - }, - { - "begin": 567, - "end": 740, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 635, - "end": 655, - "name": "DUP1", - "source": 7 - }, - { - "begin": 635, - "end": 655, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 684, - "end": 715, - "name": "DUP2", - "source": 7 - }, - { - "begin": 684, - "end": 715, - "name": "AND", - "source": 7 - }, - { - "begin": 674, - "end": 716, - "name": "DUP2", - "source": 7 - }, - { - "begin": 674, - "end": 716, - "name": "EQ", - "source": 7 - }, - { - "begin": 664, - "end": 734, - "name": "PUSH [tag]", - "source": 7, - "value": "147" - }, - { - "begin": 664, - "end": 734, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 730, - "end": 731, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 727, - "end": 728, - "name": "DUP1", - "source": 7 - }, - { - "begin": 720, - "end": 732, - "name": "REVERT", - "source": 7 - }, - { - "begin": 664, - "end": 734, - "name": "tag", - "source": 7, - "value": "147" - }, - { - "begin": 664, - "end": 734, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "POP", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 745, - "end": 999, - "name": "tag", - "source": 7, - "value": "21" - }, - { - "begin": 745, - "end": 999, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 813, - "end": 819, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 821, - "end": 827, - "name": "DUP1", - "source": 7 - }, - { - "begin": 874, - "end": 876, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 862, - "end": 871, - "name": "DUP4", - "source": 7 - }, - { - "begin": 853, - "end": 860, - "name": "DUP6", - "source": 7 - }, - { - "begin": 849, - "end": 872, - "name": "SUB", - "source": 7 - }, - { - "begin": 845, - "end": 877, - "name": "SLT", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "PUSH [tag]", - "source": 7, - "value": "149" - }, - { - "begin": 842, - "end": 894, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 890, - "end": 891, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 887, - "end": 888, - "name": "DUP1", - "source": 7 - }, - { - "begin": 880, - "end": 892, - "name": "REVERT", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "tag", - "source": 7, - "value": "149" - }, - { - "begin": 842, - "end": 894, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "PUSH [tag]", - "source": 7, - "value": "150" - }, - { - "begin": 932, - "end": 941, - "name": "DUP4", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 913, - "end": 942, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "tag", - "source": 7, - "value": "150" - }, - { - "begin": 913, - "end": 942, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 903, - "end": 942, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 989, - "end": 991, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 974, - "end": 992, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "ADD", - "source": 7 - }, - { - "begin": 961, - "end": 993, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": 961, - "end": 993, - "name": "SWAP4", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 745, - "end": 999, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "tag", - "source": 7, - "value": "31" - }, - { - "begin": 1378, - "end": 1706, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1455, - "end": 1461, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1463, - "end": 1469, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1471, - "end": 1477, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1524, - "end": 1526, - "name": "PUSH", - "source": 7, - "value": "60" - }, - { - "begin": 1512, - "end": 1521, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1503, - "end": 1510, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1499, - "end": 1522, - "name": "SUB", - "source": 7 - }, - { - "begin": 1495, - "end": 1527, - "name": "SLT", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "PUSH [tag]", - "source": 7, - "value": "154" - }, - { - "begin": 1492, - "end": 1544, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1540, - "end": 1541, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1537, - "end": 1538, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1530, - "end": 1542, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "tag", - "source": 7, - "value": "154" - }, - { - "begin": 1492, - "end": 1544, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "PUSH [tag]", - "source": 7, - "value": "155" - }, - { - "begin": 1582, - "end": 1591, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 1563, - "end": 1592, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "tag", - "source": 7, - "value": "155" - }, - { - "begin": 1563, - "end": 1592, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1553, - "end": 1592, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1553, - "end": 1592, - "name": "POP", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "PUSH [tag]", - "source": 7, - "value": "156" - }, - { - "begin": 1645, - "end": 1647, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1634, - "end": 1643, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1630, - "end": 1648, - "name": "ADD", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 1611, - "end": 1649, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "tag", - "source": 7, - "value": "156" - }, - { - "begin": 1611, - "end": 1649, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1601, - "end": 1649, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1601, - "end": 1649, - "name": "POP", - "source": 7 - }, - { - "begin": 1696, - "end": 1698, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 1685, - "end": 1694, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1681, - "end": 1699, - "name": "ADD", - "source": 7 - }, - { - "begin": 1668, - "end": 1700, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": 1658, - "end": 1700, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1658, - "end": 1700, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1900, - "end": 2086, - "name": "tag", - "source": 7, - "value": "44" - }, - { - "begin": 1900, - "end": 2086, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1959, - "end": 1965, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2012, - "end": 2014, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2000, - "end": 2009, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1991, - "end": 1998, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1987, - "end": 2010, - "name": "SUB", - "source": 7 - }, - { - "begin": 1983, - "end": 2015, - "name": "SLT", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "PUSH [tag]", - "source": 7, - "value": "159" - }, - { - "begin": 1980, - "end": 2032, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2028, - "end": 2029, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2025, - "end": 2026, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2018, - "end": 2030, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "tag", - "source": 7, - "value": "159" - }, - { - "begin": 1980, - "end": 2032, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2051, - "end": 2080, - "name": "PUSH [tag]", - "source": 7, - "value": "160" - }, - { - "begin": 2070, - "end": 2079, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2051, - "end": 2080, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 2051, - "end": 2080, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2051, - "end": 2080, - "name": "tag", - "source": 7, - "value": "160" - }, - { - "begin": 2051, - "end": 2080, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2041, - "end": 2080, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 1900, - "end": 2086, - "name": "SWAP3", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 1900, - "end": 2086, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "tag", - "source": 7, - "value": "60" - }, - { - "begin": 2091, - "end": 2351, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2159, - "end": 2165, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2167, - "end": 2173, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2220, - "end": 2222, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 2208, - "end": 2217, - "name": "DUP4", - "source": 7 - }, - { - "begin": 2199, - "end": 2206, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2195, - "end": 2218, - "name": "SUB", - "source": 7 - }, - { - "begin": 2191, - "end": 2223, - "name": "SLT", - "source": 7 - }, - { - "begin": 2188, - "end": 2240, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2188, - "end": 2240, - "name": "PUSH [tag]", - "source": 7, - "value": "162" - }, - { - "begin": 2188, - "end": 2240, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2236, - "end": 2237, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2233, - "end": 2234, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2226, - "end": 2238, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2188, - "end": 2240, - "name": "tag", - "source": 7, - "value": "162" - }, - { - "begin": 2188, - "end": 2240, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2259, - "end": 2288, - "name": "PUSH [tag]", - "source": 7, - "value": "163" - }, - { - "begin": 2278, - "end": 2287, - "name": "DUP4", - "source": 7 - }, - { - "begin": 2259, - "end": 2288, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 2259, - "end": 2288, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2259, - "end": 2288, - "name": "tag", - "source": 7, - "value": "163" - }, - { - "begin": 2259, - "end": 2288, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2249, - "end": 2288, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2249, - "end": 2288, - "name": "POP", - "source": 7 - }, - { - "begin": 2307, - "end": 2345, - "name": "PUSH [tag]", - "source": 7, - "value": "164" - }, - { - "begin": 2341, - "end": 2343, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2330, - "end": 2339, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2326, - "end": 2344, - "name": "ADD", - "source": 7 - }, - { - "begin": 2307, - "end": 2345, - "name": "PUSH [tag]", - "source": 7, - "value": "140" - }, - { - "begin": 2307, - "end": 2345, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2307, - "end": 2345, - "name": "tag", - "source": 7, - "value": "164" - }, - { - "begin": 2307, - "end": 2345, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2297, - "end": 2345, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2297, - "end": 2345, - "name": "POP", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "POP", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "name": "POP", - "source": 7 - }, - { - "begin": 2091, - "end": 2351, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2356, - "end": 2736, - "name": "tag", - "source": 7, - "value": "65" - }, - { - "begin": 2356, - "end": 2736, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2435, - "end": 2436, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2431, - "end": 2443, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2431, - "end": 2443, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2431, - "end": 2443, - "name": "SHR", - "source": 7 - }, - { - "begin": 2431, - "end": 2443, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2478, - "end": 2490, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2478, - "end": 2490, - "name": "AND", - "source": 7 - }, - { - "begin": 2478, - "end": 2490, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2499, - "end": 2560, - "name": "PUSH [tag]", - "source": 7, - "value": "166" - }, - { - "begin": 2499, - "end": 2560, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2553, - "end": 2557, - "name": "PUSH", - "source": 7, - "value": "7F" - }, - { - "begin": 2545, - "end": 2551, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2541, - "end": 2558, - "name": "AND", - "source": 7 - }, - { - "begin": 2531, - "end": 2558, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2531, - "end": 2558, - "name": "POP", - "source": 7 - }, - { - "begin": 2499, - "end": 2560, - "name": "tag", - "source": 7, - "value": "166" - }, - { - "begin": 2499, - "end": 2560, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2606, - "end": 2608, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2598, - "end": 2604, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2595, - "end": 2609, - "name": "LT", - "source": 7 - }, - { - "begin": 2575, - "end": 2593, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2572, - "end": 2610, - "name": "SUB", - "source": 7 - }, - { - "begin": 2569, - "end": 2730, - "name": "PUSH [tag]", - "source": 7, - "value": "167" - }, - { - "begin": 2569, - "end": 2730, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2652, - "end": 2662, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 2647, - "end": 2650, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 2643, - "end": 2663, - "name": "SHL", - "source": 7 - }, - { - "begin": 2640, - "end": 2641, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2633, - "end": 2664, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2687, - "end": 2691, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 2684, - "end": 2685, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 2677, - "end": 2692, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2715, - "end": 2719, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 2712, - "end": 2713, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2705, - "end": 2720, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2569, - "end": 2730, - "name": "tag", - "source": 7, - "value": "167" - }, - { - "begin": 2569, - "end": 2730, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2569, - "end": 2730, - "name": "POP", - "source": 7 - }, - { - "begin": 2356, - "end": 2736, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2356, - "end": 2736, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2356, - "end": 2736, - "name": "POP", - "source": 7 - }, - { - "begin": 2356, - "end": 2736, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2741, - "end": 2963, - "name": "tag", - "source": 7, - "value": "88" - }, - { - "begin": 2741, - "end": 2963, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2806, - "end": 2815, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2806, - "end": 2815, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2806, - "end": 2815, - "name": "ADD", - "source": 7 - }, - { - "begin": 2827, - "end": 2837, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2827, - "end": 2837, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2827, - "end": 2837, - "name": "GT", - "source": 7 - }, - { - "begin": 2824, - "end": 2957, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2824, - "end": 2957, - "name": "PUSH [tag]", - "source": 7, - "value": "70" - }, - { - "begin": 2824, - "end": 2957, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2879, - "end": 2889, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 2874, - "end": 2877, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 2870, - "end": 2890, - "name": "SHL", - "source": 7 - }, - { - "begin": 2867, - "end": 2868, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2860, - "end": 2891, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2914, - "end": 2918, - "name": "PUSH", - "source": 7, - "value": "11" - }, - { - "begin": 2911, - "end": 2912, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 2904, - "end": 2919, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2942, - "end": 2946, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 2939, - "end": 2940, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2932, - "end": 2947, - "name": "REVERT", - "source": 7 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "@openzeppelin/contracts/utils/Context.sol", - "ChainGPT.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 128, - "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", - "label": "_balances", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 134, - "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", - "label": "_allowances", - "offset": 0, - "slot": "1", - "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" - }, - { - "astId": 136, - "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", - "label": "_totalSupply", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 138, - "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", - "label": "_name", - "offset": 0, - "slot": "3", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", - "label": "_symbol", - "offset": 0, - "slot": "4", - "type": "t_string_storage" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_mapping(t_address,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "IERC20": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP.", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { - "ERC20Burnable": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 128, - "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", - "label": "_balances", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 134, - "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", - "label": "_allowances", - "offset": 0, - "slot": "1", - "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" - }, - { - "astId": 136, - "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", - "label": "_totalSupply", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 138, - "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", - "label": "_name", - "offset": 0, - "slot": "3", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", - "label": "_symbol", - "offset": 0, - "slot": "4", - "type": "t_string_storage" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_mapping(t_address,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "IERC20Metadata": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._", - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "decimals()": { - "details": "Returns the decimals places of the token." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "@openzeppelin/contracts/utils/Context.sol": { - "Context": { - "abi": [], - "devdoc": { - "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", - "kind": "dev", - "methods": {}, - "version": 1 - }, - "evm": { - "assembly": "", - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "gasEstimates": null, - "legacyAssembly": null, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - }, - "ChainGPT.sol": { - "ChainGPT": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "devdoc": { - "events": { - "Approval(address,address,uint256)": { - "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." - }, - "Transfer(address,address,uint256)": { - "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." - } - }, - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "evm": { - "assembly": " /* \"ChainGPT.sol\":242:406 contract ChainGPT is ERC20, ERC20Burnable, Ownable {... */\n mstore(0x40, 0x80)\n /* \"ChainGPT.sol\":299:404 constructor() ERC20(\"ChainGPT\", \"CGPT\") {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1976:2089 constructor(string memory name_, string memory symbol_) {... */\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x08\n dup2\n mstore\n 0x20\n add\n shl(0xc2, 0x10da185a5b91d415)\n dup2\n mstore\n pop\n mload(0x40)\n dup1\n 0x40\n add\n 0x40\n mstore\n dup1\n 0x04\n dup2\n mstore\n 0x20\n add\n shl(0xe2, 0x10d1d415)\n dup2\n mstore\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2050:2055 name_ */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2047 _name */\n 0x03\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2042:2055 _name = name_ */\n swap1\n dup2\n tag_6\n swap2\n swap1\n tag_7\n jump\t// in\ntag_6:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2072 _symbol */\n 0x04\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2082 _symbol = symbol_ */\n tag_8\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2075:2082 symbol_ */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2072 _symbol */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2065:2082 _symbol = symbol_ */\n tag_7\n jump\t// in\ntag_8:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":1976:2089 constructor(string memory name_, string memory symbol_) {... */\n pop\n pop\n /* \"@openzeppelin/contracts/access/Ownable.sol\":936:968 _transferOwnership(_msgSender()) */\n tag_10\n /* \"@openzeppelin/contracts/access/Ownable.sol\":955:967 _msgSender() */\n tag_11\n /* \"@openzeppelin/contracts/access/Ownable.sol\":955:965 _msgSender */\n shl(0x20, tag_12)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":955:967 _msgSender() */\n 0x20\n shr\n jump\t// in\ntag_11:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":936:954 _transferOwnership */\n tag_13\n /* \"@openzeppelin/contracts/access/Ownable.sol\":936:968 _transferOwnership(_msgSender()) */\n jump\t// in\ntag_10:\n /* \"ChainGPT.sol\":349:397 _mint(msg.sender, 1000000000 * 10 ** decimals()) */\n tag_15\n /* \"ChainGPT.sol\":355:365 msg.sender */\n caller\n /* \"ChainGPT.sol\":380:396 10 ** decimals() */\n tag_18\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3173:3175 18 */\n 0x12\n /* \"ChainGPT.sol\":380:382 10 */\n 0x0a\n /* \"ChainGPT.sol\":380:396 10 ** decimals() */\n tag_19\n jump\t// in\ntag_18:\n /* \"ChainGPT.sol\":367:396 1000000000 * 10 ** decimals() */\n tag_20\n swap1\n /* \"ChainGPT.sol\":367:377 1000000000 */\n 0x3b9aca00\n /* \"ChainGPT.sol\":367:396 1000000000 * 10 ** decimals() */\n tag_21\n jump\t// in\ntag_20:\n /* \"ChainGPT.sol\":349:354 _mint */\n tag_22\n /* \"ChainGPT.sol\":349:397 _mint(msg.sender, 1000000000 * 10 ** decimals()) */\n jump\t// in\ntag_15:\n /* \"ChainGPT.sol\":242:406 contract ChainGPT is ERC20, ERC20Burnable, Ownable {... */\n jump(tag_49)\n /* \"@openzeppelin/contracts/utils/Context.sol\":640:736 function _msgSender() internal view virtual returns (address) {... */\ntag_12:\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n swap1\n /* \"@openzeppelin/contracts/utils/Context.sol\":640:736 function _msgSender() internal view virtual returns (address) {... */\n jump\t// out\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2433:2620 function _transferOwnership(address newOwner) internal virtual {... */\ntag_13:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n 0x05\n dup1\n sload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2541:2558 _owner = newOwner */\n dup4\n dup2\n and\n not(sub(shl(0xa0, 0x01), 0x01))\n dup4\n and\n dup2\n or\n swap1\n swap4\n sstore\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n mload(0x40)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n swap2\n and\n swap2\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2541:2558 _owner = newOwner */\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n dup3\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2506:2522 address oldOwner */\n 0x00\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n log3\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2496:2620 {... */\n pop\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2433:2620 function _transferOwnership(address newOwner) internal virtual {... */\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8567:9102 function _mint(address account, uint256 amount) internal virtual {... */\ntag_22:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8650:8671 account != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8642:8707 require(account != address(0), \"ERC20: mint to the zero address\") */\n tag_28\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":4625:4627 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8642:8707 require(account != address(0), \"ERC20: mint to the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":4607:4628 */\n mstore\n /* \"#utility.yul\":4664:4666 */\n 0x1f\n /* \"#utility.yul\":4644:4662 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":4637:4667 */\n mstore\n /* \"#utility.yul\":4703:4736 */\n 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300\n /* \"#utility.yul\":4683:4701 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4676:4737 */\n mstore\n /* \"#utility.yul\":4754:4772 */\n 0x64\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8642:8707 require(account != address(0), \"ERC20: mint to the zero address\") */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\ntag_28:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8794:8800 amount */\n dup1\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8778:8790 _totalSupply */\n 0x02\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8778:8800 _totalSupply += amount */\n dup3\n dup3\n sload\n tag_33\n swap2\n swap1\n tag_34\n jump\t// in\ntag_33:\n swap1\n swap2\n sstore\n pop\n pop\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8946:8964 _balances[account] */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8946:8955 _balances */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8946:8964 _balances[account] */\n dup2\n dup2\n mstore\n 0x20\n dup2\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8946:8974 _balances[account] += amount */\n dup1\n sload\n dup7\n add\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8999:9036 Transfer(address(0), account, amount) */\n mload\n /* \"#utility.yul\":5059:5084 */\n dup5\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8999:9036 Transfer(address(0), account, amount) */\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n swap2\n /* \"#utility.yul\":5032:5050 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8999:9036 Transfer(address(0), account, amount) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8567:9102 function _mint(address account, uint256 amount) internal virtual {... */\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":12180:12301 function _beforeTokenTransfer(... */\ntag_32:\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":14:141 */\ntag_41:\n /* \"#utility.yul\":75:85 */\n 0x4e487b71\n /* \"#utility.yul\":70:73 */\n 0xe0\n /* \"#utility.yul\":66:86 */\n shl\n /* \"#utility.yul\":63:64 */\n 0x00\n /* \"#utility.yul\":56:87 */\n mstore\n /* \"#utility.yul\":106:110 */\n 0x41\n /* \"#utility.yul\":103:104 */\n 0x04\n /* \"#utility.yul\":96:111 */\n mstore\n /* \"#utility.yul\":130:134 */\n 0x24\n /* \"#utility.yul\":127:128 */\n 0x00\n /* \"#utility.yul\":120:135 */\n revert\n /* \"#utility.yul\":146:526 */\ntag_42:\n /* \"#utility.yul\":225:226 */\n 0x01\n /* \"#utility.yul\":221:233 */\n dup2\n dup2\n shr\n swap1\n /* \"#utility.yul\":268:280 */\n dup3\n and\n dup1\n /* \"#utility.yul\":289:350 */\n tag_52\n jumpi\n /* \"#utility.yul\":343:347 */\n 0x7f\n /* \"#utility.yul\":335:341 */\n dup3\n /* \"#utility.yul\":331:348 */\n and\n /* \"#utility.yul\":321:348 */\n swap2\n pop\n /* \"#utility.yul\":289:350 */\ntag_52:\n /* \"#utility.yul\":396:398 */\n 0x20\n /* \"#utility.yul\":388:394 */\n dup3\n /* \"#utility.yul\":385:399 */\n lt\n /* \"#utility.yul\":365:383 */\n dup2\n /* \"#utility.yul\":362:400 */\n sub\n /* \"#utility.yul\":359:520 */\n tag_53\n jumpi\n /* \"#utility.yul\":442:452 */\n 0x4e487b71\n /* \"#utility.yul\":437:440 */\n 0xe0\n /* \"#utility.yul\":433:453 */\n shl\n /* \"#utility.yul\":430:431 */\n 0x00\n /* \"#utility.yul\":423:454 */\n mstore\n /* \"#utility.yul\":477:481 */\n 0x22\n /* \"#utility.yul\":474:475 */\n 0x04\n /* \"#utility.yul\":467:482 */\n mstore\n /* \"#utility.yul\":505:509 */\n 0x24\n /* \"#utility.yul\":502:503 */\n 0x00\n /* \"#utility.yul\":495:510 */\n revert\n /* \"#utility.yul\":359:520 */\ntag_53:\n pop\n /* \"#utility.yul\":146:526 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":657:1202 */\ntag_44:\n /* \"#utility.yul\":759:761 */\n 0x1f\n /* \"#utility.yul\":754:757 */\n dup3\n /* \"#utility.yul\":751:762 */\n gt\n /* \"#utility.yul\":748:1196 */\n iszero\n tag_32\n jumpi\n /* \"#utility.yul\":795:796 */\n 0x00\n /* \"#utility.yul\":820:825 */\n dup2\n /* \"#utility.yul\":816:818 */\n dup2\n /* \"#utility.yul\":809:826 */\n mstore\n /* \"#utility.yul\":865:869 */\n 0x20\n /* \"#utility.yul\":861:863 */\n dup2\n /* \"#utility.yul\":851:870 */\n keccak256\n /* \"#utility.yul\":935:937 */\n 0x1f\n /* \"#utility.yul\":923:933 */\n dup6\n /* \"#utility.yul\":919:938 */\n add\n /* \"#utility.yul\":916:917 */\n 0x05\n /* \"#utility.yul\":912:939 */\n shr\n /* \"#utility.yul\":906:910 */\n dup2\n /* \"#utility.yul\":902:940 */\n add\n /* \"#utility.yul\":971:975 */\n 0x20\n /* \"#utility.yul\":959:969 */\n dup7\n /* \"#utility.yul\":956:976 */\n lt\n /* \"#utility.yul\":953:1000 */\n iszero\n tag_57\n jumpi\n pop\n /* \"#utility.yul\":994:998 */\n dup1\n /* \"#utility.yul\":953:1000 */\ntag_57:\n /* \"#utility.yul\":1049:1051 */\n 0x1f\n /* \"#utility.yul\":1044:1047 */\n dup6\n /* \"#utility.yul\":1040:1052 */\n add\n /* \"#utility.yul\":1037:1038 */\n 0x05\n /* \"#utility.yul\":1033:1053 */\n shr\n /* \"#utility.yul\":1027:1031 */\n dup3\n /* \"#utility.yul\":1023:1054 */\n add\n /* \"#utility.yul\":1013:1054 */\n swap2\n pop\n /* \"#utility.yul\":1104:1186 */\ntag_58:\n /* \"#utility.yul\":1122:1124 */\n dup2\n /* \"#utility.yul\":1115:1120 */\n dup2\n /* \"#utility.yul\":1112:1125 */\n lt\n /* \"#utility.yul\":1104:1186 */\n iszero\n tag_60\n jumpi\n /* \"#utility.yul\":1167:1184 */\n dup3\n dup2\n sstore\n /* \"#utility.yul\":1148:1149 */\n 0x01\n /* \"#utility.yul\":1137:1150 */\n add\n /* \"#utility.yul\":1104:1186 */\n jump(tag_58)\ntag_60:\n /* \"#utility.yul\":1108:1111 */\n pop\n pop\n pop\n /* \"#utility.yul\":657:1202 */\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1378:2730 */\ntag_7:\n /* \"#utility.yul\":1498:1508 */\n dup2\n mload\n sub(shl(0x40, 0x01), 0x01)\n /* \"#utility.yul\":1520:1550 */\n dup2\n gt\n /* \"#utility.yul\":1517:1573 */\n iszero\n tag_64\n jumpi\n /* \"#utility.yul\":1553:1571 */\n tag_64\n tag_41\n jump\t// in\ntag_64:\n /* \"#utility.yul\":1582:1679 */\n tag_65\n /* \"#utility.yul\":1672:1678 */\n dup2\n /* \"#utility.yul\":1632:1670 */\n tag_66\n /* \"#utility.yul\":1664:1668 */\n dup5\n /* \"#utility.yul\":1658:1669 */\n sload\n /* \"#utility.yul\":1632:1670 */\n tag_42\n jump\t// in\ntag_66:\n /* \"#utility.yul\":1626:1630 */\n dup5\n /* \"#utility.yul\":1582:1679 */\n tag_44\n jump\t// in\ntag_65:\n /* \"#utility.yul\":1734:1738 */\n 0x20\n dup1\n /* \"#utility.yul\":1798:1800 */\n 0x1f\n /* \"#utility.yul\":1787:1801 */\n dup4\n gt\n /* \"#utility.yul\":1815:1816 */\n 0x01\n /* \"#utility.yul\":1810:2473 */\n dup2\n eq\n tag_68\n jumpi\n /* \"#utility.yul\":2517:2518 */\n 0x00\n /* \"#utility.yul\":2534:2540 */\n dup5\n /* \"#utility.yul\":2531:2620 */\n iszero\n tag_69\n jumpi\n pop\n /* \"#utility.yul\":2586:2605 */\n dup6\n dup4\n add\n /* \"#utility.yul\":2580:2606 */\n mload\n /* \"#utility.yul\":2531:2620 */\ntag_69:\n not(0x00)\n /* \"#utility.yul\":1335:1336 */\n 0x03\n /* \"#utility.yul\":1331:1342 */\n dup7\n swap1\n shl\n /* \"#utility.yul\":1327:1351 */\n shr\n /* \"#utility.yul\":1323:1352 */\n not\n /* \"#utility.yul\":1313:1353 */\n and\n /* \"#utility.yul\":1359:1360 */\n 0x01\n /* \"#utility.yul\":1355:1366 */\n dup6\n swap1\n shl\n /* \"#utility.yul\":1310:1367 */\n or\n /* \"#utility.yul\":2633:2714 */\n dup6\n sstore\n /* \"#utility.yul\":1780:2724 */\n jump(tag_60)\n /* \"#utility.yul\":1810:2473 */\ntag_68:\n /* \"#utility.yul\":604:605 */\n 0x00\n /* \"#utility.yul\":597:611 */\n dup6\n dup2\n mstore\n /* \"#utility.yul\":641:645 */\n 0x20\n /* \"#utility.yul\":628:646 */\n dup2\n keccak256\n not(0x1f)\n /* \"#utility.yul\":1846:1866 */\n dup7\n and\n swap2\n /* \"#utility.yul\":1964:2200 */\ntag_72:\n /* \"#utility.yul\":1978:1985 */\n dup3\n /* \"#utility.yul\":1975:1976 */\n dup2\n /* \"#utility.yul\":1972:1986 */\n lt\n /* \"#utility.yul\":1964:2200 */\n iszero\n tag_74\n jumpi\n /* \"#utility.yul\":2067:2086 */\n dup9\n dup7\n add\n /* \"#utility.yul\":2061:2087 */\n mload\n /* \"#utility.yul\":2046:2088 */\n dup3\n sstore\n /* \"#utility.yul\":2159:2186 */\n swap5\n dup5\n add\n swap5\n /* \"#utility.yul\":2127:2128 */\n 0x01\n /* \"#utility.yul\":2115:2129 */\n swap1\n swap2\n add\n swap1\n /* \"#utility.yul\":1994:2013 */\n dup5\n add\n /* \"#utility.yul\":1964:2200 */\n jump(tag_72)\ntag_74:\n /* \"#utility.yul\":1968:1971 */\n pop\n /* \"#utility.yul\":2228:2234 */\n dup6\n /* \"#utility.yul\":2219:2226 */\n dup3\n /* \"#utility.yul\":2216:2235 */\n lt\n /* \"#utility.yul\":2213:2414 */\n iszero\n tag_75\n jumpi\n /* \"#utility.yul\":2289:2308 */\n dup8\n dup6\n add\n /* \"#utility.yul\":2283:2309 */\n mload\n not(0x00)\n /* \"#utility.yul\":2372:2373 */\n 0x03\n /* \"#utility.yul\":2368:2382 */\n dup9\n swap1\n shl\n /* \"#utility.yul\":2384:2387 */\n 0xf8\n /* \"#utility.yul\":2364:2388 */\n and\n /* \"#utility.yul\":2360:2397 */\n shr\n /* \"#utility.yul\":2356:2398 */\n not\n /* \"#utility.yul\":2341:2399 */\n and\n /* \"#utility.yul\":2326:2400 */\n dup2\n sstore\n /* \"#utility.yul\":2213:2414 */\ntag_75:\n pop\n pop\n pop\n pop\n pop\n /* \"#utility.yul\":2460:2461 */\n 0x01\n /* \"#utility.yul\":2444:2458 */\n swap1\n dup2\n shl\n /* \"#utility.yul\":2440:2462 */\n add\n /* \"#utility.yul\":2427:2463 */\n swap1\n sstore\n pop\n /* \"#utility.yul\":1378:2730 */\n jump\t// out\n /* \"#utility.yul\":2735:2862 */\ntag_46:\n /* \"#utility.yul\":2796:2806 */\n 0x4e487b71\n /* \"#utility.yul\":2791:2794 */\n 0xe0\n /* \"#utility.yul\":2787:2807 */\n shl\n /* \"#utility.yul\":2784:2785 */\n 0x00\n /* \"#utility.yul\":2777:2808 */\n mstore\n /* \"#utility.yul\":2827:2831 */\n 0x11\n /* \"#utility.yul\":2824:2825 */\n 0x04\n /* \"#utility.yul\":2817:2832 */\n mstore\n /* \"#utility.yul\":2851:2855 */\n 0x24\n /* \"#utility.yul\":2848:2849 */\n 0x00\n /* \"#utility.yul\":2841:2856 */\n revert\n /* \"#utility.yul\":2867:3289 */\ntag_47:\n /* \"#utility.yul\":2956:2957 */\n 0x01\n /* \"#utility.yul\":2999:3004 */\n dup2\n /* \"#utility.yul\":2956:2957 */\n dup2\n /* \"#utility.yul\":3013:3283 */\ntag_78:\n /* \"#utility.yul\":3034:3041 */\n dup1\n /* \"#utility.yul\":3024:3032 */\n dup6\n /* \"#utility.yul\":3021:3042 */\n gt\n /* \"#utility.yul\":3013:3283 */\n iszero\n tag_80\n jumpi\n /* \"#utility.yul\":3093:3097 */\n dup2\n /* \"#utility.yul\":3089:3090 */\n 0x00\n /* \"#utility.yul\":3085:3091 */\n not\n /* \"#utility.yul\":3081:3098 */\n div\n /* \"#utility.yul\":3075:3079 */\n dup3\n /* \"#utility.yul\":3072:3099 */\n gt\n /* \"#utility.yul\":3069:3122 */\n iszero\n tag_82\n jumpi\n /* \"#utility.yul\":3102:3120 */\n tag_82\n tag_46\n jump\t// in\ntag_82:\n /* \"#utility.yul\":3152:3159 */\n dup1\n /* \"#utility.yul\":3142:3150 */\n dup6\n /* \"#utility.yul\":3138:3160 */\n and\n /* \"#utility.yul\":3135:3190 */\n iszero\n tag_83\n jumpi\n /* \"#utility.yul\":3172:3188 */\n swap2\n dup2\n mul\n swap2\n /* \"#utility.yul\":3135:3190 */\ntag_83:\n /* \"#utility.yul\":3251:3273 */\n swap4\n dup5\n shr\n swap4\n /* \"#utility.yul\":3211:3226 */\n swap1\n dup1\n mul\n swap1\n /* \"#utility.yul\":3013:3283 */\n jump(tag_78)\ntag_80:\n /* \"#utility.yul\":3017:3020 */\n pop\n /* \"#utility.yul\":2867:3289 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3294:4100 */\ntag_48:\n /* \"#utility.yul\":3343:3348 */\n 0x00\n /* \"#utility.yul\":3373:3381 */\n dup3\n /* \"#utility.yul\":3363:3443 */\n tag_85\n jumpi\n pop\n /* \"#utility.yul\":3414:3415 */\n 0x01\n /* \"#utility.yul\":3428:3433 */\n jump(tag_84)\n /* \"#utility.yul\":3363:3443 */\ntag_85:\n /* \"#utility.yul\":3462:3466 */\n dup2\n /* \"#utility.yul\":3452:3528 */\n tag_86\n jumpi\n pop\n /* \"#utility.yul\":3499:3500 */\n 0x00\n /* \"#utility.yul\":3513:3518 */\n jump(tag_84)\n /* \"#utility.yul\":3452:3528 */\ntag_86:\n /* \"#utility.yul\":3544:3548 */\n dup2\n /* \"#utility.yul\":3562:3563 */\n 0x01\n /* \"#utility.yul\":3557:3616 */\n dup2\n eq\n tag_88\n jumpi\n /* \"#utility.yul\":3630:3631 */\n 0x02\n /* \"#utility.yul\":3625:3755 */\n dup2\n eq\n tag_89\n jumpi\n /* \"#utility.yul\":3537:3755 */\n jump(tag_87)\n /* \"#utility.yul\":3557:3616 */\ntag_88:\n /* \"#utility.yul\":3587:3588 */\n 0x01\n /* \"#utility.yul\":3578:3588 */\n swap2\n pop\n /* \"#utility.yul\":3601:3606 */\n pop\n jump(tag_84)\n /* \"#utility.yul\":3625:3755 */\ntag_89:\n /* \"#utility.yul\":3662:3665 */\n 0xff\n /* \"#utility.yul\":3652:3660 */\n dup5\n /* \"#utility.yul\":3649:3666 */\n gt\n /* \"#utility.yul\":3646:3689 */\n iszero\n tag_91\n jumpi\n /* \"#utility.yul\":3669:3687 */\n tag_91\n tag_46\n jump\t// in\ntag_91:\n pop\n pop\n /* \"#utility.yul\":3725:3726 */\n 0x01\n /* \"#utility.yul\":3711:3727 */\n dup3\n shl\n /* \"#utility.yul\":3740:3745 */\n jump(tag_84)\n /* \"#utility.yul\":3537:3755 */\ntag_87:\n pop\n /* \"#utility.yul\":3839:3841 */\n 0x20\n /* \"#utility.yul\":3829:3837 */\n dup4\n /* \"#utility.yul\":3826:3842 */\n lt\n /* \"#utility.yul\":3820:3823 */\n 0x0133\n /* \"#utility.yul\":3814:3818 */\n dup4\n /* \"#utility.yul\":3811:3824 */\n lt\n /* \"#utility.yul\":3807:3843 */\n and\n /* \"#utility.yul\":3801:3803 */\n 0x4e\n /* \"#utility.yul\":3791:3799 */\n dup5\n /* \"#utility.yul\":3788:3804 */\n lt\n /* \"#utility.yul\":3783:3785 */\n 0x0b\n /* \"#utility.yul\":3777:3781 */\n dup5\n /* \"#utility.yul\":3774:3786 */\n lt\n /* \"#utility.yul\":3770:3805 */\n and\n /* \"#utility.yul\":3767:3844 */\n or\n /* \"#utility.yul\":3764:3923 */\n iszero\n tag_92\n jumpi\n pop\n /* \"#utility.yul\":3876:3895 */\n dup2\n dup2\n exp\n /* \"#utility.yul\":3908:3913 */\n jump(tag_84)\n /* \"#utility.yul\":3764:3923 */\ntag_92:\n /* \"#utility.yul\":3955:3989 */\n tag_93\n /* \"#utility.yul\":3980:3988 */\n dup4\n /* \"#utility.yul\":3974:3978 */\n dup4\n /* \"#utility.yul\":3955:3989 */\n tag_47\n jump\t// in\ntag_93:\n /* \"#utility.yul\":4025:4031 */\n dup1\n /* \"#utility.yul\":4021:4022 */\n 0x00\n /* \"#utility.yul\":4017:4023 */\n not\n /* \"#utility.yul\":4013:4032 */\n div\n /* \"#utility.yul\":4004:4011 */\n dup3\n /* \"#utility.yul\":4001:4033 */\n gt\n /* \"#utility.yul\":3998:4056 */\n iszero\n tag_95\n jumpi\n /* \"#utility.yul\":4036:4054 */\n tag_95\n tag_46\n jump\t// in\ntag_95:\n /* \"#utility.yul\":4074:4094 */\n mul\n swap1\n pop\n /* \"#utility.yul\":3294:4100 */\ntag_84:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4105:4245 */\ntag_19:\n /* \"#utility.yul\":4163:4168 */\n 0x00\n /* \"#utility.yul\":4192:4239 */\n tag_97\n /* \"#utility.yul\":4233:4237 */\n 0xff\n /* \"#utility.yul\":4223:4231 */\n dup5\n /* \"#utility.yul\":4219:4238 */\n and\n /* \"#utility.yul\":4213:4217 */\n dup4\n /* \"#utility.yul\":4192:4239 */\n tag_48\n jump\t// in\ntag_97:\n /* \"#utility.yul\":4183:4239 */\n swap4\n /* \"#utility.yul\":4105:4245 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4250:4418 */\ntag_21:\n /* \"#utility.yul\":4323:4332 */\n dup1\n dup3\n mul\n /* \"#utility.yul\":4354:4363 */\n dup2\n iszero\n /* \"#utility.yul\":4371:4386 */\n dup3\n dup3\n div\n /* \"#utility.yul\":4365:4387 */\n dup5\n eq\n /* \"#utility.yul\":4351:4388 */\n or\n /* \"#utility.yul\":4341:4412 */\n tag_84\n jumpi\n /* \"#utility.yul\":4392:4410 */\n tag_84\n tag_46\n jump\t// in\n /* \"#utility.yul\":4783:4908 */\ntag_34:\n /* \"#utility.yul\":4848:4857 */\n dup1\n dup3\n add\n /* \"#utility.yul\":4869:4879 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":4866:4902 */\n iszero\n tag_84\n jumpi\n /* \"#utility.yul\":4882:4900 */\n tag_84\n tag_46\n jump\t// in\n /* \"#utility.yul\":4913:5090 */\ntag_49:\n /* \"ChainGPT.sol\":242:406 contract ChainGPT is ERC20, ERC20Burnable, Ownable {... */\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"ChainGPT.sol\":242:406 contract ChainGPT is ERC20, ERC20Burnable, Ownable {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x715018a6\n gt\n tag_19\n jumpi\n dup1\n 0xa457c2d7\n gt\n tag_20\n jumpi\n dup1\n 0xa457c2d7\n eq\n tag_15\n jumpi\n dup1\n 0xa9059cbb\n eq\n tag_16\n jumpi\n dup1\n 0xdd62ed3e\n eq\n tag_17\n jumpi\n dup1\n 0xf2fde38b\n eq\n tag_18\n jumpi\n 0x00\n dup1\n revert\n tag_20:\n dup1\n 0x715018a6\n eq\n tag_11\n jumpi\n dup1\n 0x79cc6790\n eq\n tag_12\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_13\n jumpi\n dup1\n 0x95d89b41\n eq\n tag_14\n jumpi\n 0x00\n dup1\n revert\n tag_19:\n dup1\n 0x313ce567\n gt\n tag_21\n jumpi\n dup1\n 0x313ce567\n eq\n tag_7\n jumpi\n dup1\n 0x39509351\n eq\n tag_8\n jumpi\n dup1\n 0x42966c68\n eq\n tag_9\n jumpi\n dup1\n 0x70a08231\n eq\n tag_10\n jumpi\n 0x00\n dup1\n revert\n tag_21:\n dup1\n 0x06fdde03\n eq\n tag_3\n jumpi\n dup1\n 0x095ea7b3\n eq\n tag_4\n jumpi\n dup1\n 0x18160ddd\n eq\n tag_5\n jumpi\n dup1\n 0x23b872dd\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n tag_3:\n tag_22\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n tag_24\n swap2\n swap1\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_4:\n tag_26\n tag_27\n calldatasize\n 0x04\n tag_28\n jump\t// in\n tag_27:\n tag_29\n jump\t// in\n tag_26:\n mload(0x40)\n /* \"#utility.yul\":1169:1183 */\n swap1\n iszero\n /* \"#utility.yul\":1162:1184 */\n iszero\n /* \"#utility.yul\":1144:1185 */\n dup2\n mstore\n /* \"#utility.yul\":1132:1134 */\n 0x20\n /* \"#utility.yul\":1117:1135 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_24\n /* \"#utility.yul\":1004:1191 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_5:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3329:3341 _totalSupply */\n sload(0x02)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_32:\n mload(0x40)\n /* \"#utility.yul\":1342:1367 */\n swap1\n dup2\n mstore\n /* \"#utility.yul\":1330:1332 */\n 0x20\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3242:3348 function totalSupply() public view virtual override returns (uint256) {... */\n tag_24\n /* \"#utility.yul\":1196:1373 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n tag_6:\n tag_26\n tag_37\n calldatasize\n 0x04\n tag_38\n jump\t// in\n tag_37:\n tag_39\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3091:3182 function decimals() public view virtual override returns (uint8) {... */\n tag_7:\n mload(0x40)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3173:3175 18 */\n 0x12\n /* \"#utility.yul\":1853:1889 */\n dup2\n mstore\n /* \"#utility.yul\":1841:1843 */\n 0x20\n /* \"#utility.yul\":1826:1844 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3091:3182 function decimals() public view virtual override returns (uint8) {... */\n tag_24\n /* \"#utility.yul\":1711:1895 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5871:6105 function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {... */\n tag_8:\n tag_26\n tag_46\n calldatasize\n 0x04\n tag_28\n jump\t// in\n tag_46:\n tag_47\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":578:667 function burn(uint256 amount) public virtual {... */\n tag_9:\n tag_49\n tag_50\n calldatasize\n 0x04\n tag_51\n jump\t// in\n tag_50:\n tag_52\n jump\t// in\n tag_49:\n stop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3406:3531 function balanceOf(address account) public view virtual override returns (uint256) {... */\n tag_10:\n tag_32\n tag_54\n calldatasize\n 0x04\n tag_55\n jump\t// in\n tag_54:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3506:3524 _balances[account] */\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3480:3487 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3506:3524 _balances[account] */\n swap1\n dup2\n mstore\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n keccak256\n sload\n swap1\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3406:3531 function balanceOf(address account) public view virtual override returns (uint256) {... */\n jump\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1831:1932 function renounceOwnership() public virtual onlyOwner {... */\n tag_11:\n tag_49\n tag_59\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":973:1134 function burnFrom(address account, uint256 amount) public virtual {... */\n tag_12:\n tag_49\n tag_61\n calldatasize\n 0x04\n tag_28\n jump\t// in\n tag_61:\n tag_62\n jump\t// in\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1201:1286 function owner() public view virtual returns (address) {... */\n tag_13:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1273:1279 _owner */\n sload(0x05)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1201:1286 function owner() public view virtual returns (address) {... */\n mload(0x40)\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1273:1279 _owner */\n swap1\n swap2\n and\n /* \"#utility.yul\":2422:2473 */\n dup2\n mstore\n /* \"#utility.yul\":2410:2412 */\n 0x20\n /* \"#utility.yul\":2395:2413 */\n add\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1201:1286 function owner() public view virtual returns (address) {... */\n tag_24\n /* \"#utility.yul\":2276:2479 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2365:2467 function symbol() public view virtual override returns (string memory) {... */\n tag_14:\n tag_22\n tag_68\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6592:7019 function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {... */\n tag_15:\n tag_26\n tag_71\n calldatasize\n 0x04\n tag_28\n jump\t// in\n tag_71:\n tag_72\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3727:3916 function transfer(address to, uint256 amount) public virtual override returns (bool) {... */\n tag_16:\n tag_26\n tag_75\n calldatasize\n 0x04\n tag_28\n jump\t// in\n tag_75:\n tag_76\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n tag_17:\n tag_32\n tag_79\n calldatasize\n 0x04\n tag_80\n jump\t// in\n tag_79:\n tag_81\n jump\t// in\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2081:2279 function transferOwnership(address newOwner) public virtual onlyOwner {... */\n tag_18:\n tag_49\n tag_84\n calldatasize\n 0x04\n tag_55\n jump\t// in\n tag_84:\n tag_85\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n tag_23:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2208:2221 string memory */\n 0x60\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2240:2245 _name */\n 0x03\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2233:2245 return _name */\n dup1\n sload\n tag_87\n swap1\n tag_88\n jump\t// in\n tag_87:\n dup1\n 0x1f\n add\n 0x20\n dup1\n swap2\n div\n mul\n 0x20\n add\n mload(0x40)\n swap1\n dup2\n add\n 0x40\n mstore\n dup1\n swap3\n swap2\n swap1\n dup2\n dup2\n mstore\n 0x20\n add\n dup3\n dup1\n sload\n tag_89\n swap1\n tag_88\n jump\t// in\n tag_89:\n dup1\n iszero\n tag_90\n jumpi\n dup1\n 0x1f\n lt\n tag_91\n jumpi\n 0x0100\n dup1\n dup4\n sload\n div\n mul\n dup4\n mstore\n swap2\n 0x20\n add\n swap2\n jump(tag_90)\n tag_91:\n dup3\n add\n swap2\n swap1\n 0x00\n mstore\n keccak256(0x00, 0x20)\n swap1\n tag_92:\n dup2\n sload\n dup2\n mstore\n swap1\n 0x01\n add\n swap1\n 0x20\n add\n dup1\n dup4\n gt\n tag_92\n jumpi\n dup3\n swap1\n sub\n 0x1f\n and\n dup3\n add\n swap2\n tag_90:\n pop\n pop\n pop\n pop\n pop\n swap1\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2154:2252 function name() public view virtual override returns (string memory) {... */\n swap1\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_29:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4514:4518 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4600 _approve(owner, spender, amount) */\n tag_96\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4584:4591 spender */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4593:4599 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4576 _approve */\n tag_97\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4568:4600 _approve(owner, spender, amount) */\n jump\t// in\n tag_96:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4617:4621 true */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4610:4621 return true */\n swap2\n pop\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4431:4628 function approve(address spender, uint256 amount) public virtual override returns (bool) {... */\n tag_93:\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n tag_39:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5317:5321 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5411 _spendAllowance(from, spender, amount) */\n tag_101\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5389:5393 from */\n dup6\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5404:5410 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5388 _spendAllowance */\n tag_102\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5373:5411 _spendAllowance(from, spender, amount) */\n jump\t// in\n tag_101:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5448 _transfer(from, to, amount) */\n tag_103\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5431:5435 from */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5437:5439 to */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5441:5447 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5430 _transfer */\n tag_104\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5421:5448 _transfer(from, to, amount) */\n jump\t// in\n tag_103:\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5465:5469 true */\n 0x01\n swap5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5190:5476 function transferFrom(... */\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5871:6105 function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {... */\n tag_47:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":5959:5963 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6077 _approve(owner, spender, allowance(owner, spender) + addedValue) */\n tag_96\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6029:6036 spender */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6066:6076 addedValue */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6063 allowance(owner, spender) */\n tag_109\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6029:6036 spender */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6047 allowance */\n tag_81\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6063 allowance(owner, spender) */\n jump\t// in\n tag_109:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6038:6076 allowance(owner, spender) + addedValue */\n tag_110\n swap2\n swap1\n tag_111\n jump\t// in\n tag_110:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6021 _approve */\n tag_97\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6013:6077 _approve(owner, spender, allowance(owner, spender) + addedValue) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":578:667 function burn(uint256 amount) public virtual {... */\n tag_52:\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":633:660 _burn(_msgSender(), amount) */\n tag_113\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":653:659 amount */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":633:638 _burn */\n tag_115\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":633:660 _burn(_msgSender(), amount) */\n jump\t// in\n tag_113:\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":578:667 function burn(uint256 amount) public virtual {... */\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1831:1932 function renounceOwnership() public virtual onlyOwner {... */\n tag_59:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1107 _checkOwner() */\n tag_118\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1105 _checkOwner */\n tag_119\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1107 _checkOwner() */\n jump\t// in\n tag_118:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1895:1925 _transferOwnership(address(0)) */\n tag_121\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1922:1923 0 */\n 0x00\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1895:1913 _transferOwnership */\n tag_122\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1895:1925 _transferOwnership(address(0)) */\n jump\t// in\n tag_121:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1831:1932 function renounceOwnership() public virtual onlyOwner {... */\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":973:1134 function burnFrom(address account, uint256 amount) public virtual {... */\n tag_62:\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1049:1095 _spendAllowance(account, _msgSender(), amount) */\n tag_124\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1065:1072 account */\n dup3\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1088:1094 amount */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1049:1064 _spendAllowance */\n tag_102\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1049:1095 _spendAllowance(account, _msgSender(), amount) */\n jump\t// in\n tag_124:\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1105:1127 _burn(account, amount) */\n tag_126\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1111:1118 account */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1120:1126 amount */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1105:1110 _burn */\n tag_115\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":1105:1127 _burn(account, amount) */\n jump\t// in\n tag_126:\n /* \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":973:1134 function burnFrom(address account, uint256 amount) public virtual {... */\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2365:2467 function symbol() public view virtual override returns (string memory) {... */\n tag_68:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2421:2434 string memory */\n 0x60\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2453:2460 _symbol */\n 0x04\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":2446:2460 return _symbol */\n dup1\n sload\n tag_87\n swap1\n tag_88\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6592:7019 function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {... */\n tag_72:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6685:6689 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6685:6689 bool */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6791 allowance(owner, spender) */\n tag_136\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6783:6790 spender */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6775 allowance */\n tag_81\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6766:6791 allowance(owner, spender) */\n jump\t// in\n tag_136:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6739:6791 uint256 currentAllowance = allowance(owner, spender) */\n swap1\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6829:6844 subtractedValue */\n dup4\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6809:6825 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6809:6844 currentAllowance >= subtractedValue */\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n tag_137\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":3563:3565 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":3545:3566 */\n mstore\n /* \"#utility.yul\":3602:3604 */\n 0x25\n /* \"#utility.yul\":3582:3600 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":3575:3605 */\n mstore\n /* \"#utility.yul\":3641:3675 */\n 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77\n /* \"#utility.yul\":3621:3639 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":3614:3676 */\n mstore\n shl(0xd8, 0x207a65726f)\n /* \"#utility.yul\":3692:3710 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":3685:3720 */\n mstore\n /* \"#utility.yul\":3737:3756 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6801:6886 require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\") */\n tag_138:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_137:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6980 _approve(owner, spender, currentAllowance - subtractedValue) */\n tag_103\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6929:6934 owner */\n dup3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6936:6943 spender */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6964:6979 subtractedValue */\n dup7\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6945:6961 currentAllowance */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6945:6979 currentAllowance - subtractedValue */\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6928 _approve */\n tag_97\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":6920:6980 _approve(owner, spender, currentAllowance - subtractedValue) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3727:3916 function transfer(address to, uint256 amount) public virtual override returns (bool) {... */\n tag_76:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3806:3810 bool */\n 0x00\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3888 _transfer(owner, to, amount) */\n tag_96\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3877:3879 to */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3881:3887 amount */\n dup6\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3869 _transfer */\n tag_104\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3860:3888 _transfer(owner, to, amount) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n tag_81:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n swap2\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4063:4070 uint256 */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n swap1\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4100 _allowances */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4107 _allowances[owner] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":4089:4116 _allowances[owner][spender] */\n swap4\n swap1\n swap5\n and\n dup3\n mstore\n swap2\n swap1\n swap2\n mstore\n keccak256\n sload\n swap1\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":3974:4123 function allowance(address owner, address spender) public view virtual override returns (uint256) {... */\n jump\t// out\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2081:2279 function transferOwnership(address newOwner) public virtual onlyOwner {... */\n tag_85:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1107 _checkOwner() */\n tag_146\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1105 _checkOwner */\n tag_119\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1094:1107 _checkOwner() */\n jump\t// in\n tag_146:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2169:2191 newOwner != address(0) */\n dup2\n and\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2161:2234 require(newOwner != address(0), \"Ownable: new owner is the zero address\") */\n tag_148\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":3969:3971 */\n 0x20\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2161:2234 require(newOwner != address(0), \"Ownable: new owner is the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":3951:3972 */\n mstore\n /* \"#utility.yul\":4008:4010 */\n 0x26\n /* \"#utility.yul\":3988:4006 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":3981:4011 */\n mstore\n /* \"#utility.yul\":4047:4081 */\n 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061\n /* \"#utility.yul\":4027:4045 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4020:4082 */\n mstore\n shl(0xd0, 0x646472657373)\n /* \"#utility.yul\":4098:4116 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":4091:4127 */\n mstore\n /* \"#utility.yul\":4144:4163 */\n 0x84\n add\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2161:2234 require(newOwner != address(0), \"Ownable: new owner is the zero address\") */\n tag_138\n /* \"#utility.yul\":3767:4169 */\n jump\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2161:2234 require(newOwner != address(0), \"Ownable: new owner is the zero address\") */\n tag_148:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2244:2272 _transferOwnership(newOwner) */\n tag_113\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2263:2271 newOwner */\n dup2\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2244:2262 _transferOwnership */\n tag_122\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2244:2272 _transferOwnership(newOwner) */\n jump\t// in\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10504:10874 function _approve(... */\n tag_97:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10635:10654 owner != address(0) */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_154\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":4376:4378 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":4358:4379 */\n mstore\n /* \"#utility.yul\":4415:4417 */\n 0x24\n /* \"#utility.yul\":4395:4413 */\n dup1\n dup3\n add\n /* \"#utility.yul\":4388:4418 */\n mstore\n /* \"#utility.yul\":4454:4488 */\n 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464\n /* \"#utility.yul\":4434:4452 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4427:4489 */\n mstore\n shl(0xe0, 0x72657373)\n /* \"#utility.yul\":4505:4523 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":4498:4532 */\n mstore\n /* \"#utility.yul\":4549:4568 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_138\n /* \"#utility.yul\":4174:4574 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10627:10695 require(owner != address(0), \"ERC20: approve from the zero address\") */\n tag_154:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10713:10734 spender != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_157\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":4781:4783 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":4763:4784 */\n mstore\n /* \"#utility.yul\":4820:4822 */\n 0x22\n /* \"#utility.yul\":4800:4818 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":4793:4823 */\n mstore\n /* \"#utility.yul\":4859:4893 */\n 0x45524332303a20617070726f766520746f20746865207a65726f206164647265\n /* \"#utility.yul\":4839:4857 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":4832:4894 */\n mstore\n shl(0xf0, 0x7373)\n /* \"#utility.yul\":4910:4928 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":4903:4935 */\n mstore\n /* \"#utility.yul\":4952:4971 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_138\n /* \"#utility.yul\":4579:4977 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10705:10773 require(spender != address(0), \"ERC20: approve to the zero address\") */\n tag_157:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10802 _allowances[owner] */\n dup4\n dup2\n and\n 0x00\n dup2\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10795 _allowances */\n 0x01\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10802 _allowances[owner] */\n 0x20\n swap1\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10811 _allowances[owner][spender] */\n swap5\n dup8\n and\n dup1\n dup5\n mstore\n swap5\n dup3\n mstore\n swap2\n dup3\n swap1\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10784:10820 _allowances[owner][spender] = amount */\n dup6\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n swap1\n mload\n /* \"#utility.yul\":1342:1367 */\n dup5\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n swap2\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10835:10867 Approval(owner, spender, amount) */\n tag_160:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":10504:10874 function _approve(... */\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11155:11596 function _spendAllowance(... */\n tag_102:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11285:11309 uint256 currentAllowance */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11337 allowance(owner, spender) */\n tag_162\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11322:11327 owner */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11329:11336 spender */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11321 allowance */\n tag_81\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11312:11337 allowance(owner, spender) */\n jump\t// in\n tag_162:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11285:11337 uint256 currentAllowance = allowance(owner, spender) */\n swap1\n pop\n not(0x00)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11351:11367 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11351:11388 currentAllowance != type(uint256).max */\n eq\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11347:11590 if (currentAllowance != type(uint256).max) {... */\n tag_167\n jumpi\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11432:11438 amount */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11412:11428 currentAllowance */\n dup2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11412:11438 currentAllowance >= amount */\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_164\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5184:5186 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5166:5187 */\n mstore\n /* \"#utility.yul\":5223:5225 */\n 0x1d\n /* \"#utility.yul\":5203:5221 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5196:5226 */\n mstore\n /* \"#utility.yul\":5262:5293 */\n 0x45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000\n /* \"#utility.yul\":5242:5260 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5235:5294 */\n mstore\n /* \"#utility.yul\":5311:5329 */\n 0x64\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_138\n /* \"#utility.yul\":4982:5335 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11404:11472 require(currentAllowance >= amount, \"ERC20: insufficient allowance\") */\n tag_164:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11565 _approve(owner, spender, currentAllowance - amount) */\n tag_167\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11523:11528 owner */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11530:11537 spender */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11558:11564 amount */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11539:11555 currentAllowance */\n dup5\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11539:11564 currentAllowance - amount */\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11522 _approve */\n tag_97\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11514:11565 _approve(owner, spender, currentAllowance - amount) */\n jump\t// in\n tag_167:\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11275:11596 {... */\n pop\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":11155:11596 function _spendAllowance(... */\n pop\n pop\n pop\n jump\t// out\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7473:8291 function _transfer(... */\n tag_104:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7599:7617 from != address(0) */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_169\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5542:5544 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5524:5545 */\n mstore\n /* \"#utility.yul\":5581:5583 */\n 0x25\n /* \"#utility.yul\":5561:5579 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5554:5584 */\n mstore\n /* \"#utility.yul\":5620:5654 */\n 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164\n /* \"#utility.yul\":5600:5618 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5593:5655 */\n mstore\n shl(0xd8, 0x6472657373)\n /* \"#utility.yul\":5671:5689 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":5664:5699 */\n mstore\n /* \"#utility.yul\":5716:5735 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_138\n /* \"#utility.yul\":5340:5741 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7591:7659 require(from != address(0), \"ERC20: transfer from the zero address\") */\n tag_169:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7677:7693 to != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_172\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":5948:5950 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":5930:5951 */\n mstore\n /* \"#utility.yul\":5987:5989 */\n 0x23\n /* \"#utility.yul\":5967:5985 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":5960:5990 */\n mstore\n /* \"#utility.yul\":6026:6060 */\n 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472\n /* \"#utility.yul\":6006:6024 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":5999:6061 */\n mstore\n shl(0xe8, 0x657373)\n /* \"#utility.yul\":6077:6095 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":6070:6103 */\n mstore\n /* \"#utility.yul\":6120:6139 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_138\n /* \"#utility.yul\":5746:6145 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7669:7733 require(to != address(0), \"ERC20: transfer to the zero address\") */\n tag_172:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7815:7830 _balances[from] */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7793:7812 uint256 fromBalance */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7815:7830 _balances[from] */\n swap1\n dup2\n mstore\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7848:7869 fromBalance >= amount */\n dup2\n dup2\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_177\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":6352:6354 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":6334:6355 */\n mstore\n /* \"#utility.yul\":6391:6393 */\n 0x26\n /* \"#utility.yul\":6371:6389 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":6364:6394 */\n mstore\n /* \"#utility.yul\":6430:6464 */\n 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062\n /* \"#utility.yul\":6410:6428 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":6403:6465 */\n mstore\n shl(0xd0, 0x616c616e6365)\n /* \"#utility.yul\":6481:6499 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":6474:6510 */\n mstore\n /* \"#utility.yul\":6527:6546 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_138\n /* \"#utility.yul\":6150:6552 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7840:7912 require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\") */\n tag_177:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7961 _balances[from] */\n dup5\n dup2\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7955 _balances */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7961 _balances[from] */\n dup2\n dup2\n mstore\n 0x20\n dup2\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7964:7984 fromBalance - amount */\n dup8\n dup8\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":7946:7984 _balances[from] = fromBalance - amount */\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8174 _balances[to] */\n swap4\n dup8\n and\n dup1\n dup4\n mstore\n swap2\n dup5\n swap1\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8184 _balances[to] += amount */\n dup1\n sload\n dup8\n add\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n swap3\n mload\n /* \"#utility.yul\":1342:1367 */\n dup6\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8161:8174 _balances[to] */\n swap1\n swap3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n swap2\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8210:8236 Transfer(from, to, amount) */\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":8247:8284 _afterTokenTransfer(from, to, amount) */\n tag_167\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9422:10081 function _burn(address account, uint256 amount) internal virtual {... */\n jump\n tag_115:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9505:9526 account != address(0) */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9497:9564 require(account != address(0), \"ERC20: burn from the zero address\") */\n tag_184\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":6759:6761 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9497:9564 require(account != address(0), \"ERC20: burn from the zero address\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":6741:6762 */\n mstore\n /* \"#utility.yul\":6798:6800 */\n 0x21\n /* \"#utility.yul\":6778:6796 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":6771:6801 */\n mstore\n /* \"#utility.yul\":6837:6871 */\n 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573\n /* \"#utility.yul\":6817:6835 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":6810:6872 */\n mstore\n shl(0xf8, 0x73)\n /* \"#utility.yul\":6888:6906 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":6881:6912 */\n mstore\n /* \"#utility.yul\":6929:6948 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9497:9564 require(account != address(0), \"ERC20: burn from the zero address\") */\n tag_138\n /* \"#utility.yul\":6557:6954 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9497:9564 require(account != address(0), \"ERC20: burn from the zero address\") */\n tag_184:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9660:9678 _balances[account] */\n dup3\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9635:9657 uint256 accountBalance */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9660:9678 _balances[account] */\n swap1\n dup2\n mstore\n 0x20\n dup2\n swap1\n mstore\n 0x40\n swap1\n keccak256\n sload\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9696:9720 accountBalance >= amount */\n dup2\n dup2\n lt\n iszero\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9688:9759 require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\") */\n tag_188\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":7161:7163 */\n 0x20\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9688:9759 require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":7143:7164 */\n mstore\n /* \"#utility.yul\":7200:7202 */\n 0x22\n /* \"#utility.yul\":7180:7198 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":7173:7203 */\n mstore\n /* \"#utility.yul\":7239:7273 */\n 0x45524332303a206275726e20616d6f756e7420657863656564732062616c616e\n /* \"#utility.yul\":7219:7237 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":7212:7274 */\n mstore\n shl(0xf0, 0x6365)\n /* \"#utility.yul\":7290:7308 */\n 0x64\n dup3\n add\n /* \"#utility.yul\":7283:7315 */\n mstore\n /* \"#utility.yul\":7332:7351 */\n 0x84\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9688:9759 require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\") */\n tag_138\n /* \"#utility.yul\":6959:7357 */\n jump\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9688:9759 require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\") */\n tag_188:\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9811 _balances[account] */\n dup4\n and\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9802 _balances */\n 0x00\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9811 _balances[account] */\n dup2\n dup2\n mstore\n 0x20\n dup2\n dup2\n mstore\n 0x40\n dup1\n dup4\n keccak256\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9814:9837 accountBalance - amount */\n dup7\n dup7\n sub\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9837 _balances[account] = accountBalance - amount */\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9930:9942 _totalSupply */\n 0x02\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9930:9952 _totalSupply -= amount */\n dup1\n sload\n dup8\n swap1\n sub\n swap1\n sstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9978:10015 Transfer(account, address(0), amount) */\n mload\n /* \"#utility.yul\":1342:1367 */\n dup6\n dup2\n mstore\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9802 _balances */\n swap2\n swap3\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9793:9811 _balances[account] */\n swap2\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9978:10015 Transfer(account, address(0), amount) */\n 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n swap2\n /* \"#utility.yul\":1315:1333 */\n add\n /* \"@openzeppelin/contracts/token/ERC20/ERC20.sol\":9978:10015 Transfer(account, address(0), amount) */\n tag_160\n /* \"#utility.yul\":1196:1373 */\n jump\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1359:1489 function _checkOwner() internal view virtual {... */\n tag_119:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1273:1279 _owner */\n and(sub(shl(0xa0, 0x01), 0x01), sload(0x05))\n /* \"@openzeppelin/contracts/utils/Context.sol\":719:729 msg.sender */\n caller\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1422:1445 owner() == _msgSender() */\n eq\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1414:1482 require(owner() == _msgSender(), \"Ownable: caller is not the owner\") */\n tag_121\n jumpi\n mload(0x40)\n shl(0xe5, 0x461bcd)\n dup2\n mstore\n /* \"#utility.yul\":7564:7566 */\n 0x20\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1414:1482 require(owner() == _msgSender(), \"Ownable: caller is not the owner\") */\n 0x04\n dup3\n add\n /* \"#utility.yul\":7546:7567 */\n dup2\n swap1\n mstore\n /* \"#utility.yul\":7583:7601 */\n 0x24\n dup3\n add\n /* \"#utility.yul\":7576:7606 */\n mstore\n /* \"#utility.yul\":7642:7676 */\n 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572\n /* \"#utility.yul\":7622:7640 */\n 0x44\n dup3\n add\n /* \"#utility.yul\":7615:7677 */\n mstore\n /* \"#utility.yul\":7694:7712 */\n 0x64\n add\n /* \"@openzeppelin/contracts/access/Ownable.sol\":1414:1482 require(owner() == _msgSender(), \"Ownable: caller is not the owner\") */\n tag_138\n /* \"#utility.yul\":7362:7718 */\n jump\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2433:2620 function _transferOwnership(address newOwner) internal virtual {... */\n tag_122:\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n 0x05\n dup1\n sload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2541:2558 _owner = newOwner */\n dup4\n dup2\n and\n not(sub(shl(0xa0, 0x01), 0x01))\n dup4\n and\n dup2\n or\n swap1\n swap4\n sstore\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n mload(0x40)\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n swap2\n and\n swap2\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2541:2558 _owner = newOwner */\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2525:2531 _owner */\n dup3\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2506:2522 address oldOwner */\n 0x00\n swap1\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2573:2613 OwnershipTransferred(oldOwner, newOwner) */\n log3\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2496:2620 {... */\n pop\n /* \"@openzeppelin/contracts/access/Ownable.sol\":2433:2620 function _transferOwnership(address newOwner) internal virtual {... */\n pop\n jump\t// out\n /* \"#utility.yul\":14:562 */\n tag_25:\n /* \"#utility.yul\":126:130 */\n 0x00\n /* \"#utility.yul\":155:157 */\n 0x20\n /* \"#utility.yul\":184:186 */\n dup1\n /* \"#utility.yul\":173:182 */\n dup4\n /* \"#utility.yul\":166:187 */\n mstore\n /* \"#utility.yul\":216:222 */\n dup4\n /* \"#utility.yul\":210:223 */\n mload\n /* \"#utility.yul\":259:265 */\n dup1\n /* \"#utility.yul\":254:256 */\n dup3\n /* \"#utility.yul\":243:252 */\n dup6\n /* \"#utility.yul\":239:257 */\n add\n /* \"#utility.yul\":232:266 */\n mstore\n /* \"#utility.yul\":284:285 */\n 0x00\n /* \"#utility.yul\":294:434 */\n tag_205:\n /* \"#utility.yul\":308:314 */\n dup2\n /* \"#utility.yul\":305:306 */\n dup2\n /* \"#utility.yul\":302:315 */\n lt\n /* \"#utility.yul\":294:434 */\n iszero\n tag_207\n jumpi\n /* \"#utility.yul\":403:417 */\n dup6\n dup2\n add\n /* \"#utility.yul\":399:422 */\n dup4\n add\n /* \"#utility.yul\":393:423 */\n mload\n /* \"#utility.yul\":369:386 */\n dup6\n dup3\n add\n /* \"#utility.yul\":388:390 */\n 0x40\n /* \"#utility.yul\":365:391 */\n add\n /* \"#utility.yul\":358:424 */\n mstore\n /* \"#utility.yul\":323:333 */\n dup3\n add\n /* \"#utility.yul\":294:434 */\n jump(tag_205)\n tag_207:\n /* \"#utility.yul\":298:301 */\n pop\n /* \"#utility.yul\":483:484 */\n 0x00\n /* \"#utility.yul\":478:480 */\n 0x40\n /* \"#utility.yul\":469:475 */\n dup3\n /* \"#utility.yul\":458:467 */\n dup7\n /* \"#utility.yul\":454:476 */\n add\n /* \"#utility.yul\":450:481 */\n add\n /* \"#utility.yul\":443:485 */\n mstore\n /* \"#utility.yul\":553:555 */\n 0x40\n /* \"#utility.yul\":546:548 */\n 0x1f\n /* \"#utility.yul\":542:549 */\n not\n /* \"#utility.yul\":537:539 */\n 0x1f\n /* \"#utility.yul\":529:535 */\n dup4\n /* \"#utility.yul\":525:540 */\n add\n /* \"#utility.yul\":521:550 */\n and\n /* \"#utility.yul\":510:519 */\n dup6\n /* \"#utility.yul\":506:551 */\n add\n /* \"#utility.yul\":502:556 */\n add\n /* \"#utility.yul\":494:556 */\n swap3\n pop\n pop\n pop\n /* \"#utility.yul\":14:562 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":567:740 */\n tag_202:\n /* \"#utility.yul\":635:655 */\n dup1\n calldataload\n sub(shl(0xa0, 0x01), 0x01)\n /* \"#utility.yul\":684:715 */\n dup2\n and\n /* \"#utility.yul\":674:716 */\n dup2\n eq\n /* \"#utility.yul\":664:734 */\n tag_209\n jumpi\n /* \"#utility.yul\":730:731 */\n 0x00\n /* \"#utility.yul\":727:728 */\n dup1\n /* \"#utility.yul\":720:732 */\n revert\n /* \"#utility.yul\":664:734 */\n tag_209:\n /* \"#utility.yul\":567:740 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":745:999 */\n tag_28:\n /* \"#utility.yul\":813:819 */\n 0x00\n /* \"#utility.yul\":821:827 */\n dup1\n /* \"#utility.yul\":874:876 */\n 0x40\n /* \"#utility.yul\":862:871 */\n dup4\n /* \"#utility.yul\":853:860 */\n dup6\n /* \"#utility.yul\":849:872 */\n sub\n /* \"#utility.yul\":845:877 */\n slt\n /* \"#utility.yul\":842:894 */\n iszero\n tag_211\n jumpi\n /* \"#utility.yul\":890:891 */\n 0x00\n /* \"#utility.yul\":887:888 */\n dup1\n /* \"#utility.yul\":880:892 */\n revert\n /* \"#utility.yul\":842:894 */\n tag_211:\n /* \"#utility.yul\":913:942 */\n tag_212\n /* \"#utility.yul\":932:941 */\n dup4\n /* \"#utility.yul\":913:942 */\n tag_202\n jump\t// in\n tag_212:\n /* \"#utility.yul\":903:942 */\n swap5\n /* \"#utility.yul\":989:991 */\n 0x20\n /* \"#utility.yul\":974:992 */\n swap4\n swap1\n swap4\n add\n /* \"#utility.yul\":961:993 */\n calldataload\n swap4\n pop\n pop\n pop\n /* \"#utility.yul\":745:999 */\n jump\t// out\n /* \"#utility.yul\":1378:1706 */\n tag_38:\n /* \"#utility.yul\":1455:1461 */\n 0x00\n /* \"#utility.yul\":1463:1469 */\n dup1\n /* \"#utility.yul\":1471:1477 */\n 0x00\n /* \"#utility.yul\":1524:1526 */\n 0x60\n /* \"#utility.yul\":1512:1521 */\n dup5\n /* \"#utility.yul\":1503:1510 */\n dup7\n /* \"#utility.yul\":1499:1522 */\n sub\n /* \"#utility.yul\":1495:1527 */\n slt\n /* \"#utility.yul\":1492:1544 */\n iszero\n tag_216\n jumpi\n /* \"#utility.yul\":1540:1541 */\n 0x00\n /* \"#utility.yul\":1537:1538 */\n dup1\n /* \"#utility.yul\":1530:1542 */\n revert\n /* \"#utility.yul\":1492:1544 */\n tag_216:\n /* \"#utility.yul\":1563:1592 */\n tag_217\n /* \"#utility.yul\":1582:1591 */\n dup5\n /* \"#utility.yul\":1563:1592 */\n tag_202\n jump\t// in\n tag_217:\n /* \"#utility.yul\":1553:1592 */\n swap3\n pop\n /* \"#utility.yul\":1611:1649 */\n tag_218\n /* \"#utility.yul\":1645:1647 */\n 0x20\n /* \"#utility.yul\":1634:1643 */\n dup6\n /* \"#utility.yul\":1630:1648 */\n add\n /* \"#utility.yul\":1611:1649 */\n tag_202\n jump\t// in\n tag_218:\n /* \"#utility.yul\":1601:1649 */\n swap2\n pop\n /* \"#utility.yul\":1696:1698 */\n 0x40\n /* \"#utility.yul\":1685:1694 */\n dup5\n /* \"#utility.yul\":1681:1699 */\n add\n /* \"#utility.yul\":1668:1700 */\n calldataload\n /* \"#utility.yul\":1658:1700 */\n swap1\n pop\n /* \"#utility.yul\":1378:1706 */\n swap3\n pop\n swap3\n pop\n swap3\n jump\t// out\n /* \"#utility.yul\":1900:2080 */\n tag_51:\n /* \"#utility.yul\":1959:1965 */\n 0x00\n /* \"#utility.yul\":2012:2014 */\n 0x20\n /* \"#utility.yul\":2000:2009 */\n dup3\n /* \"#utility.yul\":1991:1998 */\n dup5\n /* \"#utility.yul\":1987:2010 */\n sub\n /* \"#utility.yul\":1983:2015 */\n slt\n /* \"#utility.yul\":1980:2032 */\n iszero\n tag_221\n jumpi\n /* \"#utility.yul\":2028:2029 */\n 0x00\n /* \"#utility.yul\":2025:2026 */\n dup1\n /* \"#utility.yul\":2018:2030 */\n revert\n /* \"#utility.yul\":1980:2032 */\n tag_221:\n pop\n /* \"#utility.yul\":2051:2074 */\n calldataload\n swap2\n /* \"#utility.yul\":1900:2080 */\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2085:2271 */\n tag_55:\n /* \"#utility.yul\":2144:2150 */\n 0x00\n /* \"#utility.yul\":2197:2199 */\n 0x20\n /* \"#utility.yul\":2185:2194 */\n dup3\n /* \"#utility.yul\":2176:2183 */\n dup5\n /* \"#utility.yul\":2172:2195 */\n sub\n /* \"#utility.yul\":2168:2200 */\n slt\n /* \"#utility.yul\":2165:2217 */\n iszero\n tag_223\n jumpi\n /* \"#utility.yul\":2213:2214 */\n 0x00\n /* \"#utility.yul\":2210:2211 */\n dup1\n /* \"#utility.yul\":2203:2215 */\n revert\n /* \"#utility.yul\":2165:2217 */\n tag_223:\n /* \"#utility.yul\":2236:2265 */\n tag_224\n /* \"#utility.yul\":2255:2264 */\n dup3\n /* \"#utility.yul\":2236:2265 */\n tag_202\n jump\t// in\n tag_224:\n /* \"#utility.yul\":2226:2265 */\n swap4\n /* \"#utility.yul\":2085:2271 */\n swap3\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2484:2744 */\n tag_80:\n /* \"#utility.yul\":2552:2558 */\n 0x00\n /* \"#utility.yul\":2560:2566 */\n dup1\n /* \"#utility.yul\":2613:2615 */\n 0x40\n /* \"#utility.yul\":2601:2610 */\n dup4\n /* \"#utility.yul\":2592:2599 */\n dup6\n /* \"#utility.yul\":2588:2611 */\n sub\n /* \"#utility.yul\":2584:2616 */\n slt\n /* \"#utility.yul\":2581:2633 */\n iszero\n tag_227\n jumpi\n /* \"#utility.yul\":2629:2630 */\n 0x00\n /* \"#utility.yul\":2626:2627 */\n dup1\n /* \"#utility.yul\":2619:2631 */\n revert\n /* \"#utility.yul\":2581:2633 */\n tag_227:\n /* \"#utility.yul\":2652:2681 */\n tag_228\n /* \"#utility.yul\":2671:2680 */\n dup4\n /* \"#utility.yul\":2652:2681 */\n tag_202\n jump\t// in\n tag_228:\n /* \"#utility.yul\":2642:2681 */\n swap2\n pop\n /* \"#utility.yul\":2700:2738 */\n tag_229\n /* \"#utility.yul\":2734:2736 */\n 0x20\n /* \"#utility.yul\":2723:2732 */\n dup5\n /* \"#utility.yul\":2719:2737 */\n add\n /* \"#utility.yul\":2700:2738 */\n tag_202\n jump\t// in\n tag_229:\n /* \"#utility.yul\":2690:2738 */\n swap1\n pop\n /* \"#utility.yul\":2484:2744 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2749:3129 */\n tag_88:\n /* \"#utility.yul\":2828:2829 */\n 0x01\n /* \"#utility.yul\":2824:2836 */\n dup2\n dup2\n shr\n swap1\n /* \"#utility.yul\":2871:2883 */\n dup3\n and\n dup1\n /* \"#utility.yul\":2892:2953 */\n tag_231\n jumpi\n /* \"#utility.yul\":2946:2950 */\n 0x7f\n /* \"#utility.yul\":2938:2944 */\n dup3\n /* \"#utility.yul\":2934:2951 */\n and\n /* \"#utility.yul\":2924:2951 */\n swap2\n pop\n /* \"#utility.yul\":2892:2953 */\n tag_231:\n /* \"#utility.yul\":2999:3001 */\n 0x20\n /* \"#utility.yul\":2991:2997 */\n dup3\n /* \"#utility.yul\":2988:3002 */\n lt\n /* \"#utility.yul\":2968:2986 */\n dup2\n /* \"#utility.yul\":2965:3003 */\n sub\n /* \"#utility.yul\":2962:3123 */\n tag_232\n jumpi\n /* \"#utility.yul\":3045:3055 */\n 0x4e487b71\n /* \"#utility.yul\":3040:3043 */\n 0xe0\n /* \"#utility.yul\":3036:3056 */\n shl\n /* \"#utility.yul\":3033:3034 */\n 0x00\n /* \"#utility.yul\":3026:3057 */\n mstore\n /* \"#utility.yul\":3080:3084 */\n 0x22\n /* \"#utility.yul\":3077:3078 */\n 0x04\n /* \"#utility.yul\":3070:3085 */\n mstore\n /* \"#utility.yul\":3108:3112 */\n 0x24\n /* \"#utility.yul\":3105:3106 */\n 0x00\n /* \"#utility.yul\":3098:3113 */\n revert\n /* \"#utility.yul\":2962:3123 */\n tag_232:\n pop\n /* \"#utility.yul\":2749:3129 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3134:3356 */\n tag_111:\n /* \"#utility.yul\":3199:3208 */\n dup1\n dup3\n add\n /* \"#utility.yul\":3220:3230 */\n dup1\n dup3\n gt\n /* \"#utility.yul\":3217:3350 */\n iszero\n tag_93\n jumpi\n /* \"#utility.yul\":3272:3282 */\n 0x4e487b71\n /* \"#utility.yul\":3267:3270 */\n 0xe0\n /* \"#utility.yul\":3263:3283 */\n shl\n /* \"#utility.yul\":3260:3261 */\n 0x00\n /* \"#utility.yul\":3253:3284 */\n mstore\n /* \"#utility.yul\":3307:3311 */\n 0x11\n /* \"#utility.yul\":3304:3305 */\n 0x04\n /* \"#utility.yul\":3297:3312 */\n mstore\n /* \"#utility.yul\":3335:3339 */\n 0x24\n /* \"#utility.yul\":3332:3333 */\n 0x00\n /* \"#utility.yul\":3325:3340 */\n revert\n\n auxdata: 0xa2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033\n}\n", - "bytecode": { - "functionDebugData": { - "@_157": { - "entryPoint": null, - "id": 157, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_23": { - "entryPoint": null, - "id": 23, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_898": { - "entryPoint": null, - "id": 898, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_afterTokenTransfer_698": { - "entryPoint": null, - "id": 698, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_687": { - "entryPoint": 472, - "id": 687, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_mint_516": { - "entryPoint": 274, - "id": 516, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_msgSender_858": { - "entryPoint": 188, - "id": 858, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_transferOwnership_111": { - "entryPoint": 192, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@decimals_187": { - "entryPoint": null, - "id": 187, - "parameterSlots": 0, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 1172, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_exp_helper": { - "entryPoint": 867, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "checked_exp_t_uint256_t_uint8": { - "entryPoint": 1122, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_exp_unsigned": { - "entryPoint": 940, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_mul_t_uint256": { - "entryPoint": 1146, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 559, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 641, - "id": null, - "parameterSlots": 2, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 499, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "extract_used_part_and_set_length_of_short_byte_array": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 845, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 477, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:5092:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:7", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:7" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "201:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "211:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "225:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "228:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "221:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "221:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "211:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "242:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "272:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "278:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "268:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "268:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "246:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "319:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "321:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "335:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "343:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "331:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "331:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "321:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "299:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "292:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "292:26:7" - }, - "nodeType": "YulIf", - "src": "289:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "409:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "430:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "437:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "442:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "433:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "433:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "423:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "423:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "423:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "474:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "477:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "467:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "467:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "467:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "502:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "505:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "495:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "495:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "495:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "365:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "388:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "396:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "385:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "385:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "362:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "362:38:7" - }, - "nodeType": "YulIf", - "src": "359:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "181:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "190:6:7", - "type": "" - } - ], - "src": "146:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "587:65:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "604:1:7", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "607:3:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "597:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "597:14:7" - }, - "nodeType": "YulExpressionStatement", - "src": "597:14:7" - }, - { - "nodeType": "YulAssignment", - "src": "620:26:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "638:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "641:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "628:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "628:18:7" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "620:4:7" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "570:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "578:4:7", - "type": "" - } - ], - "src": "531:121:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "738:464:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "771:425:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "785:11:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "795:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "789:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "816:2:7" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "820:5:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "809:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "809:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "809:17:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "839:31:7", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "861:2:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "865:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "851:9:7" - }, - "nodeType": "YulFunctionCall", - "src": "851:19:7" - }, - "variables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "843:4:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "883:57:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "906:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "916:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "923:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "935:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "919:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "919:19:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "912:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "912:27:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "902:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "902:38:7" - }, - "variables": [ - { - "name": "deleteStart", - "nodeType": "YulTypedName", - "src": "887:11:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "977:23:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "979:19:7", - "value": { - "name": "data", - "nodeType": "YulIdentifier", - "src": "994:4:7" - }, - "variableNames": [ - { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "979:11:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "startIndex", - "nodeType": "YulIdentifier", - "src": "959:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "971:4:7", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "956:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "956:20:7" - }, - "nodeType": "YulIf", - "src": "953:47:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1013:41:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1027:4:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1037:1:7", - "type": "", - "value": "5" - }, - { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1044:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1049:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1040:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1040:12:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1033:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1033:20:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1023:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1023:31:7" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1017:2:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1067:24:7", - "value": { - "name": "deleteStart", - "nodeType": "YulIdentifier", - "src": "1080:11:7" - }, - "variables": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "1071:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1165:21:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1174:5:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1181:2:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "1167:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1167:17:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1167:17:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1115:5:7" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1122:2:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1112:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1112:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1126:26:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1128:22:7", - "value": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1141:5:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1148:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1137:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1137:13:7" - }, - "variableNames": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1128:5:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1108:3:7", - "statements": [] - }, - "src": "1104:82:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "754:3:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "759:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "751:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "751:11:7" - }, - "nodeType": "YulIf", - "src": "748:448:7" - } - ] - }, - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "710:5:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "717:3:7", - "type": "" - }, - { - "name": "startIndex", - "nodeType": "YulTypedName", - "src": "722:10:7", - "type": "" - } - ], - "src": "657:545:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1292:81:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1302:65:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1317:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1335:1:7", - "type": "", - "value": "3" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1338:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1331:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1331:11:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1348:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1344:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1344:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1327:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1327:24:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1323:29:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1313:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1313:40:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1359:1:7", - "type": "", - "value": "1" - }, - { - "name": "len", - "nodeType": "YulIdentifier", - "src": "1362:3:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1355:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1355:11:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1310:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1310:57:7" - }, - "variableNames": [ - { - "name": "used", - "nodeType": "YulIdentifier", - "src": "1302:4:7" - } - ] - } - ] - }, - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1269:4:7", - "type": "" - }, - { - "name": "len", - "nodeType": "YulTypedName", - "src": "1275:3:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "used", - "nodeType": "YulTypedName", - "src": "1283:4:7", - "type": "" - } - ], - "src": "1207:166:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1474:1256:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1484:24:7", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1504:3:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1498:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1498:10:7" - }, - "variables": [ - { - "name": "newLen", - "nodeType": "YulTypedName", - "src": "1488:6:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1551:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1553:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "1553:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1553:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1523:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1539:2:7", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1543:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1535:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1535:10:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1547:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1531:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1531:18:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1520:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1520:30:7" - }, - "nodeType": "YulIf", - "src": "1517:56:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1626:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1664:4:7" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "1658:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "1658:11:7" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "1632:25:7" - }, - "nodeType": "YulFunctionCall", - "src": "1632:38:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1672:6:7" - } - ], - "functionName": { - "name": "clean_up_bytearray_end_slots_string_storage", - "nodeType": "YulIdentifier", - "src": "1582:43:7" - }, - "nodeType": "YulFunctionCall", - "src": "1582:97:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1582:97:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1688:18:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1705:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "srcOffset", - "nodeType": "YulTypedName", - "src": "1692:9:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1715:23:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1734:4:7", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "srcOffset_1", - "nodeType": "YulTypedName", - "src": "1719:11:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1747:24:7", - "value": { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "1760:11:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "1747:9:7" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1817:656:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1831:35:7", - "value": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1850:6:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1862:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1858:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1858:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1846:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1846:20:7" - }, - "variables": [ - { - "name": "loopEnd", - "nodeType": "YulTypedName", - "src": "1835:7:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1879:49:7", - "value": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "1923:4:7" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "1893:29:7" - }, - "nodeType": "YulFunctionCall", - "src": "1893:35:7" - }, - "variables": [ - { - "name": "dstPtr", - "nodeType": "YulTypedName", - "src": "1883:6:7", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1941:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1950:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1945:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2028:172:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2053:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2071:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2076:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2067:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2067:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2061:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2061:26:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2046:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2046:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2046:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "2105:24:7", - "value": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2119:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2127:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2115:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2115:14:7" - }, - "variableNames": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2105:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2146:40:7", - "value": { - "arguments": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2163:9:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2174:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2159:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2159:27:7" - }, - "variableNames": [ - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2146:9:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1975:1:7" - }, - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "1978:7:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1972:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1972:14:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1987:28:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1989:24:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1998:1:7" - }, - { - "name": "srcOffset_1", - "nodeType": "YulIdentifier", - "src": "2001:11:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1994:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1994:19:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1989:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1968:3:7", - "statements": [] - }, - "src": "1964:236:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2248:166:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2266:43:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2293:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2298:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2289:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2289:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2283:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2283:26:7" - }, - "variables": [ - { - "name": "lastValue", - "nodeType": "YulTypedName", - "src": "2270:9:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dstPtr", - "nodeType": "YulIdentifier", - "src": "2333:6:7" - }, - { - "arguments": [ - { - "name": "lastValue", - "nodeType": "YulIdentifier", - "src": "2345:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2372:1:7", - "type": "", - "value": "3" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2375:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2368:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2368:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2384:3:7", - "type": "", - "value": "248" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2364:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2364:24:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2394:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2390:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2390:6:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2360:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2360:37:7" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2356:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2356:42:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2341:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2341:58:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2326:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2326:74:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2326:74:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "loopEnd", - "nodeType": "YulIdentifier", - "src": "2219:7:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2228:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2216:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2216:19:7" - }, - "nodeType": "YulIf", - "src": "2213:201:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2434:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2448:1:7", - "type": "", - "value": "1" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2451:6:7" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2444:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2444:14:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2460:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2440:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2440:22:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2427:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2427:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2427:36:7" - } - ] - }, - "nodeType": "YulCase", - "src": "1810:663:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1815:1:7", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2490:234:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2504:14:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2517:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2508:5:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2553:67:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2571:35:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2590:3:7" - }, - { - "name": "srcOffset", - "nodeType": "YulIdentifier", - "src": "2595:9:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2586:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2586:19:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2580:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "2580:26:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2571:5:7" - } - ] - } - ] - }, - "condition": { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2534:6:7" - }, - "nodeType": "YulIf", - "src": "2531:89:7" - }, - { - "expression": { - "arguments": [ - { - "name": "slot", - "nodeType": "YulIdentifier", - "src": "2640:4:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2699:5:7" - }, - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "2706:6:7" - } - ], - "functionName": { - "name": "extract_used_part_and_set_length_of_short_byte_array", - "nodeType": "YulIdentifier", - "src": "2646:52:7" - }, - "nodeType": "YulFunctionCall", - "src": "2646:67:7" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "2633:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2633:81:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2633:81:7" - } - ] - }, - "nodeType": "YulCase", - "src": "2482:242:7", - "value": "default" - } - ], - "expression": { - "arguments": [ - { - "name": "newLen", - "nodeType": "YulIdentifier", - "src": "1790:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1798:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1787:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "1787:14:7" - }, - "nodeType": "YulSwitch", - "src": "1780:944:7" - } - ] - }, - "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "slot", - "nodeType": "YulTypedName", - "src": "1459:4:7", - "type": "" - }, - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1465:3:7", - "type": "" - } - ], - "src": "1378:1352:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2767:95:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2784:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2791:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2796:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2787:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2787:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2777:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2777:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2777:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2824:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2827:4:7", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2817:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2817:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2817:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2848:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2851:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2841:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2841:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2841:15:7" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2735:127:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2931:358:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2941:16:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2956:1:7", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "2945:7:7", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2966:16:7", - "value": { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "2975:7:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "2966:5:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2991:13:7", - "value": { - "name": "_base", - "nodeType": "YulIdentifier", - "src": "2999:5:7" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "2991:4:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3055:228:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3100:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3102:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "3102:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3102:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3075:4:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3089:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3085:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3085:6:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3093:4:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "3081:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3081:17:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3072:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3072:27:7" - }, - "nodeType": "YulIf", - "src": "3069:53:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3161:29:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3163:25:7", - "value": { - "arguments": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3176:5:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3183:4:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3172:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3172:16:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3163:5:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3142:8:7" - }, - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3152:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3138:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3138:22:7" - }, - "nodeType": "YulIf", - "src": "3135:55:7" - }, - { - "nodeType": "YulAssignment", - "src": "3203:23:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3215:4:7" - }, - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3221:4:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "3211:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3211:15:7" - }, - "variableNames": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3203:4:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3239:34:7", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3255:7:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3264:8:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3251:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3251:22:7" - }, - "variableNames": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3239:8:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3024:8:7" - }, - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "3034:7:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3021:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3021:21:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3043:3:7", - "statements": [] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3017:3:7", - "statements": [] - }, - "src": "3013:270:7" - } - ] - }, - "name": "checked_exp_helper", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "_base", - "nodeType": "YulTypedName", - "src": "2895:5:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "2902:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "2915:5:7", - "type": "" - }, - { - "name": "base", - "nodeType": "YulTypedName", - "src": "2922:4:7", - "type": "" - } - ], - "src": "2867:422:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3353:747:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3391:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3405:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3414:1:7", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3405:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3428:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3373:8:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3366:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3366:16:7" - }, - "nodeType": "YulIf", - "src": "3363:80:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3476:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3490:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3499:1:7", - "type": "", - "value": "0" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3490:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3513:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3462:4:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3455:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3455:12:7" - }, - "nodeType": "YulIf", - "src": "3452:76:7" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3564:52:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3578:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3587:1:7", - "type": "", - "value": "1" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3578:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3601:5:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3557:59:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3562:1:7", - "type": "", - "value": "1" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3632:123:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3667:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3669:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "3669:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3669:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3652:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3662:3:7", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3649:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3649:17:7" - }, - "nodeType": "YulIf", - "src": "3646:43:7" - }, - { - "nodeType": "YulAssignment", - "src": "3702:25:7", - "value": { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3715:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3725:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3711:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3711:16:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3702:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3740:5:7" - } - ] - }, - "nodeType": "YulCase", - "src": "3625:130:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3630:1:7", - "type": "", - "value": "2" - } - } - ], - "expression": { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3544:4:7" - }, - "nodeType": "YulSwitch", - "src": "3537:218:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3853:70:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3867:28:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3880:4:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3886:8:7" - } - ], - "functionName": { - "name": "exp", - "nodeType": "YulIdentifier", - "src": "3876:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3876:19:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "3867:5:7" - } - ] - }, - { - "nodeType": "YulLeave", - "src": "3908:5:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3777:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3783:2:7", - "type": "", - "value": "11" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3774:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3774:12:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3791:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3801:2:7", - "type": "", - "value": "78" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3788:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3788:16:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3770:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3770:35:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3814:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3820:3:7", - "type": "", - "value": "307" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3811:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3811:13:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3829:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3839:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3826:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3826:16:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3807:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3807:36:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3767:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3767:77:7" - }, - "nodeType": "YulIf", - "src": "3764:159:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3932:57:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "3974:4:7" - }, - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "3980:8:7" - } - ], - "functionName": { - "name": "checked_exp_helper", - "nodeType": "YulIdentifier", - "src": "3955:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "3955:34:7" - }, - "variables": [ - { - "name": "power_1", - "nodeType": "YulTypedName", - "src": "3936:7:7", - "type": "" - }, - { - "name": "base_1", - "nodeType": "YulTypedName", - "src": "3945:6:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4034:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4036:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4036:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4036:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "4004:7:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4021:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4017:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4017:6:7" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "4025:6:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4013:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4013:19:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4001:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4001:32:7" - }, - "nodeType": "YulIf", - "src": "3998:58:7" - }, - { - "nodeType": "YulAssignment", - "src": "4065:29:7", - "value": { - "arguments": [ - { - "name": "power_1", - "nodeType": "YulIdentifier", - "src": "4078:7:7" - }, - { - "name": "base_1", - "nodeType": "YulIdentifier", - "src": "4087:6:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4074:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4074:20:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "4065:5:7" - } - ] - } - ] - }, - "name": "checked_exp_unsigned", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "3324:4:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "3330:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "3343:5:7", - "type": "" - } - ], - "src": "3294:806:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4173:72:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4183:56:7", - "value": { - "arguments": [ - { - "name": "base", - "nodeType": "YulIdentifier", - "src": "4213:4:7" - }, - { - "arguments": [ - { - "name": "exponent", - "nodeType": "YulIdentifier", - "src": "4223:8:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4233:4:7", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4219:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4219:19:7" - } - ], - "functionName": { - "name": "checked_exp_unsigned", - "nodeType": "YulIdentifier", - "src": "4192:20:7" - }, - "nodeType": "YulFunctionCall", - "src": "4192:47:7" - }, - "variableNames": [ - { - "name": "power", - "nodeType": "YulIdentifier", - "src": "4183:5:7" - } - ] - } - ] - }, - "name": "checked_exp_t_uint256_t_uint8", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base", - "nodeType": "YulTypedName", - "src": "4144:4:7", - "type": "" - }, - { - "name": "exponent", - "nodeType": "YulTypedName", - "src": "4150:8:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "power", - "nodeType": "YulTypedName", - "src": "4163:5:7", - "type": "" - } - ], - "src": "4105:140:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4302:116:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4312:20:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4327:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4330:1:7" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "4323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4323:9:7" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "4312:7:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4390:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4392:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4392:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4392:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4361:1:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4354:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4354:9:7" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4368:1:7" - }, - { - "arguments": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "4375:7:7" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4384:1:7" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "4371:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4371:15:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4365:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4365:22:7" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "4351:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4351:37:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4344:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4344:45:7" - }, - "nodeType": "YulIf", - "src": "4341:71:7" - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4281:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4284:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "4290:7:7", - "type": "" - } - ], - "src": "4250:168:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4597:181:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4614:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4625:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4607:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4607:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4607:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4648:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4659:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4644:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4644:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4664:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4637:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4637:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4637:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4687:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4698:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4683:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4683:18:7" - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4703:33:7", - "type": "", - "value": "ERC20: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4676:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4676:61:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4676:61:7" - }, - { - "nodeType": "YulAssignment", - "src": "4746:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4758:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4769:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4754:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4754:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4746:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4574:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4588:4:7", - "type": "" - } - ], - "src": "4423:355:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4831:77:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4841:16:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4852:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4855:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4848:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4848:9:7" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4841:3:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4880:22:7", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4882:16:7" - }, - "nodeType": "YulFunctionCall", - "src": "4882:18:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4882:18:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4872:1:7" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4875:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4869:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "4869:10:7" - }, - "nodeType": "YulIf", - "src": "4866:36:7" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4814:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4817:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "4823:3:7", - "type": "" - } - ], - "src": "4783:125:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5014:76:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5024:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5036:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5047:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5032:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5032:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5024:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5066:9:7" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5077:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5059:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5059:25:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5059:25:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4983:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4994:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5005:4:7", - "type": "" - } - ], - "src": "4913:177:7" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_exp_helper(_base, exponent) -> power, base\n {\n let power_1 := 1\n power := power_1\n base := _base\n for { } gt(exponent, power_1) { }\n {\n if gt(base, div(not(0), base)) { panic_error_0x11() }\n if and(exponent, power_1) { power := mul(power, base) }\n base := mul(base, base)\n exponent := shr(power_1, exponent)\n }\n }\n function checked_exp_unsigned(base, exponent) -> power\n {\n if iszero(exponent)\n {\n power := 1\n leave\n }\n if iszero(base)\n {\n power := 0\n leave\n }\n switch base\n case 1 {\n power := 1\n leave\n }\n case 2 {\n if gt(exponent, 255) { panic_error_0x11() }\n power := shl(exponent, 1)\n leave\n }\n if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n {\n power := exp(base, exponent)\n leave\n }\n let power_1, base_1 := checked_exp_helper(base, exponent)\n if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n power := mul(power_1, base_1)\n }\n function checked_exp_t_uint256_t_uint8(base, exponent) -> power\n {\n power := checked_exp_unsigned(base, and(exponent, 0xff))\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ERC20: mint to the zero address\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040518060400160405280600881526020016710da185a5b91d41560c21b8152506040518060400160405280600481526020016310d1d41560e21b815250816003908162000061919062000281565b50600462000070828262000281565b5050506200008d62000087620000bc60201b60201c565b620000c0565b620000b633620000a06012600a62000462565b620000b090633b9aca006200047a565b62000112565b620004aa565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200016d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000181919062000494565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200020857607f821691505b6020821081036200022957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001d857600081815260208120601f850160051c81016020861015620002585750805b601f850160051c820191505b81811015620002795782815560010162000264565b505050505050565b81516001600160401b038111156200029d576200029d620001dd565b620002b581620002ae8454620001f3565b846200022f565b602080601f831160018114620002ed5760008415620002d45750858301515b600019600386901b1c1916600185901b17855562000279565b600085815260208120601f198616915b828110156200031e57888601518255948401946001909101908401620002fd565b50858210156200033d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003a45781600019048211156200038857620003886200034d565b808516156200039657918102915b93841c939080029062000368565b509250929050565b600082620003bd575060016200045c565b81620003cc575060006200045c565b8160018114620003e55760028114620003f05762000410565b60019150506200045c565b60ff8411156200040457620004046200034d565b50506001821b6200045c565b5060208310610133831016604e8410600b841016171562000435575081810a6200045c565b62000441838362000363565b80600019048211156200045857620004586200034d565b0290505b92915050565b60006200047360ff841683620003ac565b9392505050565b80820281158282048414176200045c576200045c6200034d565b808201808211156200045c576200045c6200034d565b610ba780620004ba6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461024257600080fd5b8063715018a6146101cb57806379cc6790146101d35780638da5cb5b146101e657806395d89b411461020157600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806342966c681461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610255565b60405161011a91906109d8565b60405180910390f35b610136610131366004610a42565b6102e7565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610a6c565b610301565b6040516012815260200161011a565b610136610188366004610a42565b610325565b6101a061019b366004610aa8565b610347565b005b61014a6101b0366004610ac1565b6001600160a01b031660009081526020819052604090205490565b6101a0610354565b6101a06101e1366004610a42565b610368565b6005546040516001600160a01b03909116815260200161011a565b61010d610381565b610136610217366004610a42565b610390565b61013661022a366004610a42565b610410565b61014a61023d366004610ae3565b61041e565b6101a0610250366004610ac1565b610449565b60606003805461026490610b16565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610b16565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b5050505050905090565b6000336102f58185856104bf565b60019150505b92915050565b60003361030f8582856105e4565b61031a85858561065e565b506001949350505050565b6000336102f5818585610338838361041e565b6103429190610b50565b6104bf565b6103513382610802565b50565b61035c61092c565b6103666000610986565b565b6103738233836105e4565b61037d8282610802565b5050565b60606004805461026490610b16565b6000338161039e828661041e565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61031a82868684036104bf565b6000336102f581858561065e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61045161092c565b6001600160a01b0381166104b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103fa565b61035181610986565b6001600160a01b0383166105215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166105825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105f0848461041e565b90506000198114610658578181101561064b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61065884848484036104bf565b50505050565b6001600160a01b0383166106c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b0383166000908152602081905260409020548181101561079c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610658565b6001600160a01b0382166108625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b038216600090815260208190526040902054818110156108d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105d7565b6005546001600160a01b031633146103665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a05578581018301518582016040015282016109e9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a3d57600080fd5b919050565b60008060408385031215610a5557600080fd5b610a5e83610a26565b946020939093013593505050565b600080600060608486031215610a8157600080fd5b610a8a84610a26565b9250610a9860208501610a26565b9150604084013590509250925092565b600060208284031215610aba57600080fd5b5035919050565b600060208284031215610ad357600080fd5b610adc82610a26565b9392505050565b60008060408385031215610af657600080fd5b610aff83610a26565b9150610b0d60208401610a26565b90509250929050565b600181811c90821680610b2a57607f821691505b602082108103610b4a57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102fb57634e487b7160e01b600052601160045260246000fdfea2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x8 DUP2 MSTORE PUSH1 0x20 ADD PUSH8 0x10DA185A5B91D415 PUSH1 0xC2 SHL DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH4 0x10D1D415 PUSH1 0xE2 SHL DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x61 SWAP2 SWAP1 PUSH3 0x281 JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x70 DUP3 DUP3 PUSH3 0x281 JUMP JUMPDEST POP POP POP PUSH3 0x8D PUSH3 0x87 PUSH3 0xBC PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xC0 JUMP JUMPDEST PUSH3 0xB6 CALLER PUSH3 0xA0 PUSH1 0x12 PUSH1 0xA PUSH3 0x462 JUMP JUMPDEST PUSH3 0xB0 SWAP1 PUSH4 0x3B9ACA00 PUSH3 0x47A JUMP JUMPDEST PUSH3 0x112 JUMP JUMPDEST PUSH3 0x4AA JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x16D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x181 SWAP2 SWAP1 PUSH3 0x494 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP7 ADD SWAP1 SSTORE MLOAD DUP5 DUP2 MSTORE PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x208 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x229 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x1D8 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x258 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x279 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x264 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x29D JUMPI PUSH3 0x29D PUSH3 0x1DD JUMP JUMPDEST PUSH3 0x2B5 DUP2 PUSH3 0x2AE DUP5 SLOAD PUSH3 0x1F3 JUMP JUMPDEST DUP5 PUSH3 0x22F JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x2ED JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x2D4 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x279 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x31E JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x2FD JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x33D JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 JUMPDEST DUP1 DUP6 GT ISZERO PUSH3 0x3A4 JUMPI DUP2 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH3 0x388 JUMPI PUSH3 0x388 PUSH3 0x34D JUMP JUMPDEST DUP1 DUP6 AND ISZERO PUSH3 0x396 JUMPI SWAP2 DUP2 MUL SWAP2 JUMPDEST SWAP4 DUP5 SHR SWAP4 SWAP1 DUP1 MUL SWAP1 PUSH3 0x368 JUMP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH3 0x3BD JUMPI POP PUSH1 0x1 PUSH3 0x45C JUMP JUMPDEST DUP2 PUSH3 0x3CC JUMPI POP PUSH1 0x0 PUSH3 0x45C JUMP JUMPDEST DUP2 PUSH1 0x1 DUP2 EQ PUSH3 0x3E5 JUMPI PUSH1 0x2 DUP2 EQ PUSH3 0x3F0 JUMPI PUSH3 0x410 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP PUSH3 0x45C JUMP JUMPDEST PUSH1 0xFF DUP5 GT ISZERO PUSH3 0x404 JUMPI PUSH3 0x404 PUSH3 0x34D JUMP JUMPDEST POP POP PUSH1 0x1 DUP3 SHL PUSH3 0x45C JUMP JUMPDEST POP PUSH1 0x20 DUP4 LT PUSH2 0x133 DUP4 LT AND PUSH1 0x4E DUP5 LT PUSH1 0xB DUP5 LT AND OR ISZERO PUSH3 0x435 JUMPI POP DUP2 DUP2 EXP PUSH3 0x45C JUMP JUMPDEST PUSH3 0x441 DUP4 DUP4 PUSH3 0x363 JUMP JUMPDEST DUP1 PUSH1 0x0 NOT DIV DUP3 GT ISZERO PUSH3 0x458 JUMPI PUSH3 0x458 PUSH3 0x34D JUMP JUMPDEST MUL SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x473 PUSH1 0xFF DUP5 AND DUP4 PUSH3 0x3AC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH3 0x45C JUMPI PUSH3 0x45C PUSH3 0x34D JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH3 0x45C JUMPI PUSH3 0x45C PUSH3 0x34D JUMP JUMPDEST PUSH2 0xBA7 DUP1 PUSH3 0x4BA PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x158 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x255 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0xA6C JUMP JUMPDEST PUSH2 0x301 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x325 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xAA8 JUMP JUMPDEST PUSH2 0x347 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14A PUSH2 0x1B0 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x354 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x10D PUSH2 0x381 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x217 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x390 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x22A CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xAE3 JUMP JUMPDEST PUSH2 0x41E JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x250 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH2 0x449 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x30F DUP6 DUP3 DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x31A DUP6 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x338 DUP4 DUP4 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x342 SWAP2 SWAP1 PUSH2 0xB50 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH2 0x351 CALLER DUP3 PUSH2 0x802 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x35C PUSH2 0x92C JUMP JUMPDEST PUSH2 0x366 PUSH1 0x0 PUSH2 0x986 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x373 DUP3 CALLER DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x37D DUP3 DUP3 PUSH2 0x802 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x39E DUP3 DUP7 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x31A DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x451 PUSH2 0x92C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x521 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F0 DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x658 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x64B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x658 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x6C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x79C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x658 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x862 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x5D7 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x366 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA05 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x9E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xA3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5E DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8A DUP5 PUSH2 0xA26 JUMP JUMPDEST SWAP3 POP PUSH2 0xA98 PUSH1 0x20 DUP6 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xADC DUP3 PUSH2 0xA26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAFF DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH2 0xB0D PUSH1 0x20 DUP5 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xB2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xB4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x2C1A7264033A67519F23022E2C375079C74DAB80B9C0 0x49 0x2D 0xC8 0xA9 0xA5 PUSH29 0x332C6364736F6C63430008120033000000000000000000000000000000 ", - "sourceMap": "242:164:6:-:0;;;299:105;;;;;;;;;;1976:113:1;;;;;;;;;;;;;-1:-1:-1;;;1976:113:1;;;;;;;;;;;;;;;;-1:-1:-1;;;1976:113:1;;;2050:5;2042;:13;;;;;;:::i;:::-;-1:-1:-1;2065:7:1;:17;2075:7;2065;:17;:::i;:::-;;1976:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;:32::i;:::-;349:48:6::1;355:10;380:16;3173:2:1::0;380::6::1;:16;:::i;:::-;367:29;::::0;:10:::1;:29;:::i;:::-;349:5;:48::i;:::-;242:164:::0;;640:96:5;719:10;;640:96::o;2433:187:0:-;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;8567:535:1:-;-1:-1:-1;;;;;8650:21:1;;8642:65;;;;-1:-1:-1;;;8642:65:1;;4625:2:7;8642:65:1;;;4607:21:7;4664:2;4644:18;;;4637:30;4703:33;4683:18;;;4676:61;4754:18;;8642:65:1;;;;;;;;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8946:18:1;;:9;:18;;;;;;;;;;;:28;;;;;;8999:37;5059:25:7;;;8999:37:1;;5032:18:7;8999:37:1;;;;;;;8567:535;;:::o;12180:121::-;;;;:::o;14:127:7:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:7;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:7;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:7;;;2580:26;2531:89;-1:-1:-1;;1335:1:7;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:7;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:7;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:7;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:7:o;2735:127::-;2796:10;2791:3;2787:20;2784:1;2777:31;2827:4;2824:1;2817:15;2851:4;2848:1;2841:15;2867:422;2956:1;2999:5;2956:1;3013:270;3034:7;3024:8;3021:21;3013:270;;;3093:4;3089:1;3085:6;3081:17;3075:4;3072:27;3069:53;;;3102:18;;:::i;:::-;3152:7;3142:8;3138:22;3135:55;;;3172:16;;;;3135:55;3251:22;;;;3211:15;;;;3013:270;;;3017:3;2867:422;;;;;:::o;3294:806::-;3343:5;3373:8;3363:80;;-1:-1:-1;3414:1:7;3428:5;;3363:80;3462:4;3452:76;;-1:-1:-1;3499:1:7;3513:5;;3452:76;3544:4;3562:1;3557:59;;;;3630:1;3625:130;;;;3537:218;;3557:59;3587:1;3578:10;;3601:5;;;3625:130;3662:3;3652:8;3649:17;3646:43;;;3669:18;;:::i;:::-;-1:-1:-1;;3725:1:7;3711:16;;3740:5;;3537:218;;3839:2;3829:8;3826:16;3820:3;3814:4;3811:13;3807:36;3801:2;3791:8;3788:16;3783:2;3777:4;3774:12;3770:35;3767:77;3764:159;;;-1:-1:-1;3876:19:7;;;3908:5;;3764:159;3955:34;3980:8;3974:4;3955:34;:::i;:::-;4025:6;4021:1;4017:6;4013:19;4004:7;4001:32;3998:58;;;4036:18;;:::i;:::-;4074:20;;-1:-1:-1;3294:806:7;;;;;:::o;4105:140::-;4163:5;4192:47;4233:4;4223:8;4219:19;4213:4;4192:47;:::i;:::-;4183:56;4105:140;-1:-1:-1;;;4105:140:7:o;4250:168::-;4323:9;;;4354;;4371:15;;;4365:22;;4351:37;4341:71;;4392:18;;:::i;4783:125::-;4848:9;;;4869:10;;;4866:36;;;4882:18;;:::i;4913:177::-;242:164:6;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_afterTokenTransfer_698": { - "entryPoint": null, - "id": 698, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_approve_633": { - "entryPoint": 1215, - "id": 633, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_687": { - "entryPoint": null, - "id": 687, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_burn_588": { - "entryPoint": 2050, - "id": 588, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_checkOwner_54": { - "entryPoint": 2348, - "id": 54, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_msgSender_858": { - "entryPoint": null, - "id": 858, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_spendAllowance_676": { - "entryPoint": 1508, - "id": 676, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_transferOwnership_111": { - "entryPoint": 2438, - "id": 111, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_transfer_459": { - "entryPoint": 1630, - "id": 459, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_254": { - "entryPoint": 1054, - "id": 254, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@approve_279": { - "entryPoint": 743, - "id": 279, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_211": { - "entryPoint": null, - "id": 211, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@burnFrom_820": { - "entryPoint": 872, - "id": 820, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@burn_799": { - "entryPoint": 839, - "id": 799, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@decimals_187": { - "entryPoint": null, - "id": 187, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@decreaseAllowance_382": { - "entryPoint": 912, - "id": 382, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@increaseAllowance_341": { - "entryPoint": 805, - "id": 341, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@name_167": { - "entryPoint": 597, - "id": 167, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@owner_40": { - "entryPoint": null, - "id": 40, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@renounceOwnership_68": { - "entryPoint": 852, - "id": 68, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@symbol_177": { - "entryPoint": 897, - "id": 177, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@totalSupply_197": { - "entryPoint": null, - "id": 197, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@transferFrom_312": { - "entryPoint": 769, - "id": 312, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transferOwnership_91": { - "entryPoint": 1097, - "id": 91, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@transfer_236": { - "entryPoint": 1040, - "id": 236, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 2598, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 2753, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 2787, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 2668, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 2626, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 2728, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2520, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 2896, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 2838, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:7720:7", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:7", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "135:427:7", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "145:12:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "155:2:7", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "149:2:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "173:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "184:2:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "166:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "166:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "166:21:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "196:27:7", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "216:6:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "210:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "210:13:7" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "200:6:7", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "243:9:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "254:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "239:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "239:18:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "259:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "232:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "232:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "232:34:7" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "275:10:7", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "284:1:7", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "279:1:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "344:90:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "373:9:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "384:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "369:17:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "365:26:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "407:6:7" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "415:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "403:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "403:14:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "419:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "399:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "399:23:7" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "393:5:7" - }, - "nodeType": "YulFunctionCall", - "src": "393:30:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "358:66:7" - }, - "nodeType": "YulExpressionStatement", - "src": "358:66:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "305:1:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "308:6:7" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "302:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "302:13:7" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "316:19:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "318:15:7", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:7" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "330:2:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "323:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "323:10:7" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "318:1:7" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "298:3:7", - "statements": [] - }, - "src": "294:140:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "458:9:7" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "469:6:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "454:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "454:22:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "478:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "450:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "450:31:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "483:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "443:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "443:42:7" - }, - "nodeType": "YulExpressionStatement", - "src": "443:42:7" - }, - { - "nodeType": "YulAssignment", - "src": "494:62:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "510:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "529:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "537:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "525:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "525:15:7" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "546:2:7", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "542:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "542:7:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "521:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "521:29:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "506:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "506:45:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "553:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "502:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "502:54:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "494:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "104:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "115:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "126:4:7", - "type": "" - } - ], - "src": "14:548:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "616:124:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "626:29:7", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "648:6:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "635:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "635:20:7" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "626:5:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "718:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "727:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "730:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "720:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "720:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "720:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "677:5:7" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "688:5:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "703:3:7", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "708:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "699:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "699:11:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "712:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "695:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "695:19:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "684:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "684:31:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "674:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "674:42:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "667:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "667:50:7" - }, - "nodeType": "YulIf", - "src": "664:70:7" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "595:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "606:5:7", - "type": "" - } - ], - "src": "567:173:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "832:167:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "878:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "887:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "890:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "880:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "880:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "880:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "853:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "862:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "849:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "849:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "874:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "845:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "845:32:7" - }, - "nodeType": "YulIf", - "src": "842:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "903:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "932:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "913:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "913:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "903:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "951:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "978:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "974:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "974:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "961:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "961:32:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "951:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "790:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "801:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "813:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "821:6:7", - "type": "" - } - ], - "src": "745:254:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1099:92:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1109:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1121:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1132:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1117:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1117:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1109:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1151:9:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1176:6:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1169:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1169:14:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1162:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1162:22:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1144:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1144:41:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1144:41:7" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1068:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1079:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1090:4:7", - "type": "" - } - ], - "src": "1004:187:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1297:76:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1307:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1319:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1330:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1315:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1315:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1307:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1349:9:7" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1360:6:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1342:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1342:25:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1342:25:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1266:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1277:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1288:4:7", - "type": "" - } - ], - "src": "1196:177:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1482:224:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1528:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1537:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1540:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1530:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1530:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1530:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1503:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1512:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1499:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1499:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1524:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1495:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1495:32:7" - }, - "nodeType": "YulIf", - "src": "1492:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "1553:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1582:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1563:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1563:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1553:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1601:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1634:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1645:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1630:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1630:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1611:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "1611:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1601:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1658:42:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1685:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1696:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1681:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1681:18:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1668:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "1668:32:7" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1658:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1432:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1443:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1455:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1463:6:7", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1471:6:7", - "type": "" - } - ], - "src": "1378:328:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1808:87:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1818:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1830:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1841:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1826:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1826:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1818:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1860:9:7" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1875:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1883:4:7", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1871:17:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1853:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "1853:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "1853:36:7" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1777:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1788:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1799:4:7", - "type": "" - } - ], - "src": "1711:184:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1970:110:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2016:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2025:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2028:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2018:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2018:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2018:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1991:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2000:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1987:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1987:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2012:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1983:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "1983:32:7" - }, - "nodeType": "YulIf", - "src": "1980:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2041:33:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2064:9:7" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2051:12:7" - }, - "nodeType": "YulFunctionCall", - "src": "2051:23:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2041:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1936:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1947:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1959:6:7", - "type": "" - } - ], - "src": "1900:180:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2155:116:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2201:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2210:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2213:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2203:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2203:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2203:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2176:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2185:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2172:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2172:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2197:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2168:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2168:32:7" - }, - "nodeType": "YulIf", - "src": "2165:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2226:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2255:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2236:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2236:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2226:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2121:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2132:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2144:6:7", - "type": "" - } - ], - "src": "2085:186:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2377:102:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2387:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2399:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2410:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2395:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2395:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2387:4:7" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2429:9:7" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2444:6:7" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2460:3:7", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2465:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2456:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2456:11:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2469:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2452:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2452:19:7" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2440:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2440:32:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2422:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2422:51:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2422:51:7" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2346:9:7", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2357:6:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2368:4:7", - "type": "" - } - ], - "src": "2276:203:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2571:173:7", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2617:16:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2626:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2629:1:7", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2619:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2619:12:7" - }, - "nodeType": "YulExpressionStatement", - "src": "2619:12:7" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2592:7:7" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2601:9:7" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2588:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2588:23:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2613:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2584:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2584:32:7" - }, - "nodeType": "YulIf", - "src": "2581:52:7" - }, - { - "nodeType": "YulAssignment", - "src": "2642:39:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2671:9:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2652:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2652:29:7" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2642:6:7" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2690:48:7", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2723:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2734:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2719:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2719:18:7" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2700:18:7" - }, - "nodeType": "YulFunctionCall", - "src": "2700:38:7" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2690:6:7" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2529:9:7", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2540:7:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2552:6:7", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2560:6:7", - "type": "" - } - ], - "src": "2484:260:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2804:325:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2814:22:7", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2828:1:7", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2831:4:7" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2824:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2824:12:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2814:6:7" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2845:38:7", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2875:4:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2881:1:7", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2871:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2871:12:7" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2849:18:7", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2922:31:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2924:27:7", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2938:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2946:4:7", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2934:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "2934:17:7" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2924:6:7" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2902:18:7" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2895:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "2895:26:7" - }, - "nodeType": "YulIf", - "src": "2892:61:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3012:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3033:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3040:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3045:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3036:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3036:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3026:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3026:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3026:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3077:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3080:4:7", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3070:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3070:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3070:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3105:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3108:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3098:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3098:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3098:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2968:18:7" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2991:6:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2999:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2988:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2988:14:7" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2965:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "2965:38:7" - }, - "nodeType": "YulIf", - "src": "2962:161:7" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2784:4:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2793:6:7", - "type": "" - } - ], - "src": "2749:380:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3182:174:7", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3192:16:7", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3203:1:7" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3206:1:7" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3199:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3199:9:7" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "3192:3:7" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3239:111:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3260:1:7", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3267:3:7", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3272:10:7", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3263:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3263:20:7" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3253:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3253:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3253:31:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3304:1:7", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3307:4:7", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3297:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3297:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3297:15:7" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3332:1:7", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3335:4:7", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3325:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3325:15:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3325:15:7" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3223:1:7" - }, - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "3226:3:7" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3220:2:7" - }, - "nodeType": "YulFunctionCall", - "src": "3220:10:7" - }, - "nodeType": "YulIf", - "src": "3217:133:7" - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "3165:1:7", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "3168:1:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "3174:3:7", - "type": "" - } - ], - "src": "3134:222:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3535:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3552:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3563:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3545:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3545:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3545:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3586:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3597:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3582:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3582:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3602:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3575:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3575:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3575:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3625:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3636:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3621:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3621:18:7" - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3641:34:7", - "type": "", - "value": "ERC20: decreased allowance below" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3614:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3614:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3614:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3696:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3707:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3692:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3692:18:7" - }, - { - "hexValue": "207a65726f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "3712:7:7", - "type": "", - "value": " zero" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3685:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3685:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3685:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "3729:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3741:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3752:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3737:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3737:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3729:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3512:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3526:4:7", - "type": "" - } - ], - "src": "3361:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3941:228:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3958:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3969:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3951:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3951:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3951:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3992:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4003:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3988:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "3988:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4008:2:7", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3981:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "3981:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "3981:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4031:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4042:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4027:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4027:18:7" - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4047:34:7", - "type": "", - "value": "Ownable: new owner is the zero a" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4020:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4020:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4020:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4102:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4113:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4098:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4098:18:7" - }, - { - "hexValue": "646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4118:8:7", - "type": "", - "value": "ddress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4091:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4091:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4091:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "4136:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4148:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4159:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4144:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4144:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4136:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3918:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3932:4:7", - "type": "" - } - ], - "src": "3767:402:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4348:226:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4365:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4376:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4358:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4358:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4358:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4399:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4410:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4395:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4395:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4415:2:7", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4388:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4388:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4388:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4438:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4449:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4434:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4434:18:7" - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4454:34:7", - "type": "", - "value": "ERC20: approve from the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4427:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4427:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4427:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4509:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4520:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4505:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4505:18:7" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4525:6:7", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4498:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4498:34:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4498:34:7" - }, - { - "nodeType": "YulAssignment", - "src": "4541:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4553:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4564:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4549:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4549:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4541:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4325:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4339:4:7", - "type": "" - } - ], - "src": "4174:400:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4753:224:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4770:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4781:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4763:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4763:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4763:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4804:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4815:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4800:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4800:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4820:2:7", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4793:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4793:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4793:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4843:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4854:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4839:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4839:18:7" - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4859:34:7", - "type": "", - "value": "ERC20: approve to the zero addre" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4832:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4832:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4832:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4914:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4925:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4910:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4910:18:7" - }, - { - "hexValue": "7373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "4930:4:7", - "type": "", - "value": "ss" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4903:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "4903:32:7" - }, - "nodeType": "YulExpressionStatement", - "src": "4903:32:7" - }, - { - "nodeType": "YulAssignment", - "src": "4944:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4956:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4967:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4952:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "4952:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4944:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4730:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4744:4:7", - "type": "" - } - ], - "src": "4579:398:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5156:179:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5173:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5184:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5166:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5166:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5166:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5207:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5218:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5203:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5203:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5223:2:7", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5196:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5196:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5196:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5246:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5257:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5242:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5242:18:7" - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5262:31:7", - "type": "", - "value": "ERC20: insufficient allowance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5235:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5235:59:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5235:59:7" - }, - { - "nodeType": "YulAssignment", - "src": "5303:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5315:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5326:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5311:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5311:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5303:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5133:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5147:4:7", - "type": "" - } - ], - "src": "4982:353:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5514:227:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5531:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5542:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5524:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5524:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5524:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5565:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5576:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5561:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5561:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5581:2:7", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5554:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5554:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5554:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5604:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5615:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5600:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5600:18:7" - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5620:34:7", - "type": "", - "value": "ERC20: transfer from the zero ad" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5593:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5593:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5593:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5675:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5686:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5671:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5671:18:7" - }, - { - "hexValue": "6472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "5691:7:7", - "type": "", - "value": "dress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5664:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5664:35:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5664:35:7" - }, - { - "nodeType": "YulAssignment", - "src": "5708:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5720:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5731:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5716:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5716:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5708:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5491:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5505:4:7", - "type": "" - } - ], - "src": "5340:401:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5920:225:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5937:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5948:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5930:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5930:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5930:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5971:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5982:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5967:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "5967:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5987:2:7", - "type": "", - "value": "35" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5960:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5960:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5960:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6010:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6021:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6006:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6006:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6026:34:7", - "type": "", - "value": "ERC20: transfer to the zero addr" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5999:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "5999:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "5999:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6081:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6092:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6077:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6077:18:7" - }, - { - "hexValue": "657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6097:5:7", - "type": "", - "value": "ess" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6070:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6070:33:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6070:33:7" - }, - { - "nodeType": "YulAssignment", - "src": "6112:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6124:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6135:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6120:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6120:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6112:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5897:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5911:4:7", - "type": "" - } - ], - "src": "5746:399:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6324:228:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6341:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6352:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6334:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6334:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6334:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6375:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6386:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6371:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6371:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6391:2:7", - "type": "", - "value": "38" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6364:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6364:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6364:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6414:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6425:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6410:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6410:18:7" - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6430:34:7", - "type": "", - "value": "ERC20: transfer amount exceeds b" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6403:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6403:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6403:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6485:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6496:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6481:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6481:18:7" - }, - { - "hexValue": "616c616e6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6501:8:7", - "type": "", - "value": "alance" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6474:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6474:36:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6474:36:7" - }, - { - "nodeType": "YulAssignment", - "src": "6519:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6531:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6542:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6527:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6527:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6519:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6301:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6315:4:7", - "type": "" - } - ], - "src": "6150:402:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6731:223:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6748:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6759:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6741:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6741:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6741:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6782:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6793:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6778:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6778:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6798:2:7", - "type": "", - "value": "33" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6771:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6771:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6771:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6821:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6832:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6817:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6817:18:7" - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6837:34:7", - "type": "", - "value": "ERC20: burn from the zero addres" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6810:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6810:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6810:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6892:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6903:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6888:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6888:18:7" - }, - { - "hexValue": "73", - "kind": "string", - "nodeType": "YulLiteral", - "src": "6908:3:7", - "type": "", - "value": "s" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6881:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "6881:31:7" - }, - "nodeType": "YulExpressionStatement", - "src": "6881:31:7" - }, - { - "nodeType": "YulAssignment", - "src": "6921:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6933:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6944:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6929:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "6929:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6921:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6708:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6722:4:7", - "type": "" - } - ], - "src": "6557:397:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7133:224:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7150:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7161:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7143:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7143:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7143:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7184:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7195:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7180:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7180:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7200:2:7", - "type": "", - "value": "34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7173:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7173:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7173:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7223:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7234:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7219:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7219:18:7" - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7239:34:7", - "type": "", - "value": "ERC20: burn amount exceeds balan" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7212:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7212:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7212:62:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7294:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7305:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7290:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7290:18:7" - }, - { - "hexValue": "6365", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7310:4:7", - "type": "", - "value": "ce" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7283:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7283:32:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7283:32:7" - }, - { - "nodeType": "YulAssignment", - "src": "7324:27:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7336:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7347:3:7", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7332:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7332:19:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7324:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7110:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7124:4:7", - "type": "" - } - ], - "src": "6959:398:7" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7536:182:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7553:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7564:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7546:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7546:21:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7546:21:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7587:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7598:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7583:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7583:18:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7603:2:7", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7576:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7576:30:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7576:30:7" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7626:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7637:2:7", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7622:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7622:18:7" - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "7642:34:7", - "type": "", - "value": "Ownable: caller is not the owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7615:6:7" - }, - "nodeType": "YulFunctionCall", - "src": "7615:62:7" - }, - "nodeType": "YulExpressionStatement", - "src": "7615:62:7" - }, - { - "nodeType": "YulAssignment", - "src": "7686:26:7", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7698:9:7" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7709:2:7", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7694:3:7" - }, - "nodeType": "YulFunctionCall", - "src": "7694:18:7" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "7686:4:7" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7513:9:7", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7527:4:7", - "type": "" - } - ], - "src": "7362:356:7" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, _1)\n let length := mload(value0)\n mstore(add(headStart, _1), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: decreased allowance below\")\n mstore(add(headStart, 96), \" zero\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"Ownable: new owner is the zero a\")\n mstore(add(headStart, 96), \"ddress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 36)\n mstore(add(headStart, 64), \"ERC20: approve from the zero add\")\n mstore(add(headStart, 96), \"ress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: approve to the zero addre\")\n mstore(add(headStart, 96), \"ss\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"ERC20: insufficient allowance\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"ERC20: transfer from the zero ad\")\n mstore(add(headStart, 96), \"dress\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"ERC20: transfer to the zero addr\")\n mstore(add(headStart, 96), \"ess\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 38)\n mstore(add(headStart, 64), \"ERC20: transfer amount exceeds b\")\n mstore(add(headStart, 96), \"alance\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"ERC20: burn from the zero addres\")\n mstore(add(headStart, 96), \"s\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ERC20: burn amount exceeds balan\")\n mstore(add(headStart, 96), \"ce\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Ownable: caller is not the owner\")\n tail := add(headStart, 96)\n }\n}", - "id": 7, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461024257600080fd5b8063715018a6146101cb57806379cc6790146101d35780638da5cb5b146101e657806395d89b411461020157600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806342966c681461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610255565b60405161011a91906109d8565b60405180910390f35b610136610131366004610a42565b6102e7565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610a6c565b610301565b6040516012815260200161011a565b610136610188366004610a42565b610325565b6101a061019b366004610aa8565b610347565b005b61014a6101b0366004610ac1565b6001600160a01b031660009081526020819052604090205490565b6101a0610354565b6101a06101e1366004610a42565b610368565b6005546040516001600160a01b03909116815260200161011a565b61010d610381565b610136610217366004610a42565b610390565b61013661022a366004610a42565b610410565b61014a61023d366004610ae3565b61041e565b6101a0610250366004610ac1565b610449565b60606003805461026490610b16565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610b16565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b5050505050905090565b6000336102f58185856104bf565b60019150505b92915050565b60003361030f8582856105e4565b61031a85858561065e565b506001949350505050565b6000336102f5818585610338838361041e565b6103429190610b50565b6104bf565b6103513382610802565b50565b61035c61092c565b6103666000610986565b565b6103738233836105e4565b61037d8282610802565b5050565b60606004805461026490610b16565b6000338161039e828661041e565b9050838110156104035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61031a82868684036104bf565b6000336102f581858561065e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61045161092c565b6001600160a01b0381166104b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103fa565b61035181610986565b6001600160a01b0383166105215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fa565b6001600160a01b0382166105825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fa565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105f0848461041e565b90506000198114610658578181101561064b5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fa565b61065884848484036104bf565b50505050565b6001600160a01b0383166106c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fa565b6001600160a01b0382166107245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fa565b6001600160a01b0383166000908152602081905260409020548181101561079c5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fa565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610658565b6001600160a01b0382166108625760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fa565b6001600160a01b038216600090815260208190526040902054818110156108d65760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fa565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105d7565b6005546001600160a01b031633146103665760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610a05578581018301518582016040015282016109e9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a3d57600080fd5b919050565b60008060408385031215610a5557600080fd5b610a5e83610a26565b946020939093013593505050565b600080600060608486031215610a8157600080fd5b610a8a84610a26565b9250610a9860208501610a26565b9150604084013590509250925092565b600060208284031215610aba57600080fd5b5035919050565b600060208284031215610ad357600080fd5b610adc82610a26565b9392505050565b60008060408385031215610af657600080fd5b610aff83610a26565b9150610b0d60208401610a26565b90509250929050565b600181811c90821680610b2a57607f821691505b602082108103610b4a57634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102fb57634e487b7160e01b600052601160045260246000fdfea2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x100 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x209 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x21C JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x242 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x715018A6 EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x18D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x105 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x123 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x158 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10D PUSH2 0x255 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x11A SWAP2 SWAP1 PUSH2 0x9D8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH2 0x131 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x2E7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0xA6C JUMP JUMPDEST PUSH2 0x301 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x136 PUSH2 0x188 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x325 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x19B CALLDATASIZE PUSH1 0x4 PUSH2 0xAA8 JUMP JUMPDEST PUSH2 0x347 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x14A PUSH2 0x1B0 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x354 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x368 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x11A JUMP JUMPDEST PUSH2 0x10D PUSH2 0x381 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x217 CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x390 JUMP JUMPDEST PUSH2 0x136 PUSH2 0x22A CALLDATASIZE PUSH1 0x4 PUSH2 0xA42 JUMP JUMPDEST PUSH2 0x410 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x23D CALLDATASIZE PUSH1 0x4 PUSH2 0xAE3 JUMP JUMPDEST PUSH2 0x41E JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x250 CALLDATASIZE PUSH1 0x4 PUSH2 0xAC1 JUMP JUMPDEST PUSH2 0x449 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x290 SWAP1 PUSH2 0xB16 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x30F DUP6 DUP3 DUP6 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x31A DUP6 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x338 DUP4 DUP4 PUSH2 0x41E JUMP JUMPDEST PUSH2 0x342 SWAP2 SWAP1 PUSH2 0xB50 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH2 0x351 CALLER DUP3 PUSH2 0x802 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x35C PUSH2 0x92C JUMP JUMPDEST PUSH2 0x366 PUSH1 0x0 PUSH2 0x986 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x373 DUP3 CALLER DUP4 PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x37D DUP3 DUP3 PUSH2 0x802 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x264 SWAP1 PUSH2 0xB16 JUMP JUMPDEST PUSH1 0x0 CALLER DUP2 PUSH2 0x39E DUP3 DUP7 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x403 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x207A65726F PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x31A DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x0 CALLER PUSH2 0x2F5 DUP2 DUP6 DUP6 PUSH2 0x65E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x451 PUSH2 0x92C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x4B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x351 DUP2 PUSH2 0x986 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x521 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x72657373 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x7373 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5F0 DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST SWAP1 POP PUSH1 0x0 NOT DUP2 EQ PUSH2 0x658 JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x64B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH2 0x658 DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x4BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x6C2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x25 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x44 DUP3 ADD MSTORE PUSH5 0x6472657373 PUSH1 0xD8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x724 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x23 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x44 DUP3 ADD MSTORE PUSH3 0x657373 PUSH1 0xE8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x79C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x616C616E6365 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP8 DUP8 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 KECCAK256 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP3 MLOAD DUP6 DUP2 MSTORE SWAP1 SWAP3 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0x658 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x862 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E2066726F6D20746865207A65726F20616464726573 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0x8D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x22 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x45524332303A206275726E20616D6F756E7420657863656564732062616C616E PUSH1 0x44 DUP3 ADD MSTORE PUSH2 0x6365 PUSH1 0xF0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 DUP7 SUB SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD DUP8 SWAP1 SUB SWAP1 SSTORE MLOAD DUP6 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP2 ADD PUSH2 0x5D7 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x366 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xA05 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x9E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xA3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5E DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8A DUP5 PUSH2 0xA26 JUMP JUMPDEST SWAP3 POP PUSH2 0xA98 PUSH1 0x20 DUP6 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xABA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xADC DUP3 PUSH2 0xA26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAFF DUP4 PUSH2 0xA26 JUMP JUMPDEST SWAP2 POP PUSH2 0xB0D PUSH1 0x20 DUP5 ADD PUSH2 0xA26 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xB2A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xB4A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x2FB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH22 0x2C1A7264033A67519F23022E2C375079C74DAB80B9C0 0x49 0x2D 0xC8 0xA9 0xA5 PUSH29 0x332C6364736F6C63430008120033000000000000000000000000000000 ", - "sourceMap": "242:164:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:7;;1162:22;1144:41;;1132:2;1117:18;4431:197:1;1004:187:7;3242:106:1;3329:12;;3242:106;;;1342:25:7;;;1330:2;1315:18;3242:106:1;1196:177:7;5190:286:1;;;;;;:::i;:::-;;:::i;3091:91::-;;;3173:2;1853:36:7;;1841:2;1826:18;3091:91:1;1711:184:7;5871:234:1;;;;;;:::i;:::-;;:::i;578:89:3:-;;;;;;:::i;:::-;;:::i;:::-;;3406:125:1;;;;;;:::i;:::-;-1:-1:-1;;;;;3506:18:1;3480:7;3506:18;;;;;;;;;;;;3406:125;1831:101:0;;;:::i;973:161:3:-;;;;;;:::i;:::-;;:::i;1201:85:0:-;1273:6;;1201:85;;-1:-1:-1;;;;;1273:6:0;;;2422:51:7;;2410:2;2395:18;1201:85:0;2276:203:7;2365:102:1;;;:::i;6592:427::-;;;;;;:::i;:::-;;:::i;3727:189::-;;;;;;:::i;:::-;;:::i;3974:149::-;;;;;;:::i;:::-;;:::i;2081:198:0:-;;;;;;:::i;:::-;;:::i;2154:98:1:-;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;719:10:5;4568:32:1;719:10:5;4584:7:1;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;;:::o;5190:286::-;5317:4;719:10:5;5373:38:1;5389:4;719:10:5;5404:6:1;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;-1:-1:-1;5465:4:1;;5190:286;-1:-1:-1;;;;5190:286:1:o;5871:234::-;5959:4;719:10:5;6013:64:1;719:10:5;6029:7:1;6066:10;6038:25;719:10:5;6029:7:1;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;578:89:3:-;633:27;719:10:5;653:6:3;633:5;:27::i;:::-;578:89;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;973:161:3:-;1049:46;1065:7;719:10:5;1088:6:3;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;2365:102:1:-;2421:13;2453:7;2446:14;;;;;:::i;6592:427::-;6685:4;719:10:5;6685:4:1;6766:25;719:10:5;6783:7:1;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;-1:-1:-1;;;6801:85:1;;3563:2:7;6801:85:1;;;3545:21:7;3602:2;3582:18;;;3575:30;3641:34;3621:18;;;3614:62;-1:-1:-1;;;3692:18:7;;;3685:35;3737:19;;6801:85:1;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;3727:189::-;3806:4;719:10:5;3860:28:1;719:10:5;3877:2:1;3881:6;3860:9;:28::i;3974:149::-;-1:-1:-1;;;;;4089:18:1;;;4063:7;4089:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3974:149::o;2081:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:0;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:0;;3969:2:7;2161:73:0::1;::::0;::::1;3951:21:7::0;4008:2;3988:18;;;3981:30;4047:34;4027:18;;;4020:62;-1:-1:-1;;;4098:18:7;;;4091:36;4144:19;;2161:73:0::1;3767:402:7::0;2161:73:0::1;2244:28;2263:8;2244:18;:28::i;10504:370:1:-:0;-1:-1:-1;;;;;10635:19:1;;10627:68;;;;-1:-1:-1;;;10627:68:1;;4376:2:7;10627:68:1;;;4358:21:7;4415:2;4395:18;;;4388:30;4454:34;4434:18;;;4427:62;-1:-1:-1;;;4505:18:7;;;4498:34;4549:19;;10627:68:1;4174:400:7;10627:68:1;-1:-1:-1;;;;;10713:21:1;;10705:68;;;;-1:-1:-1;;;10705:68:1;;4781:2:7;10705:68:1;;;4763:21:7;4820:2;4800:18;;;4793:30;4859:34;4839:18;;;4832:62;-1:-1:-1;;;4910:18:7;;;4903:32;4952:19;;10705:68:1;4579:398:7;10705:68:1;-1:-1:-1;;;;;10784:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10835:32;;1342:25:7;;;10835:32:1;;1315:18:7;10835:32:1;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;-1:-1:-1;;11351:16:1;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;-1:-1:-1;;;11404:68:1;;5184:2:7;11404:68:1;;;5166:21:7;5223:2;5203:18;;;5196:30;5262:31;5242:18;;;5235:59;5311:18;;11404:68:1;4982:353:7;11404:68:1;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11275:321;11155:441;;;:::o;7473:818::-;-1:-1:-1;;;;;7599:18:1;;7591:68;;;;-1:-1:-1;;;7591:68:1;;5542:2:7;7591:68:1;;;5524:21:7;5581:2;5561:18;;;5554:30;5620:34;5600:18;;;5593:62;-1:-1:-1;;;5671:18:7;;;5664:35;5716:19;;7591:68:1;5340:401:7;7591:68:1;-1:-1:-1;;;;;7677:16:1;;7669:64;;;;-1:-1:-1;;;7669:64:1;;5948:2:7;7669:64:1;;;5930:21:7;5987:2;5967:18;;;5960:30;6026:34;6006:18;;;5999:62;-1:-1:-1;;;6077:18:7;;;6070:33;6120:19;;7669:64:1;5746:399:7;7669:64:1;-1:-1:-1;;;;;7815:15:1;;7793:19;7815:15;;;;;;;;;;;7848:21;;;;7840:72;;;;-1:-1:-1;;;7840:72:1;;6352:2:7;7840:72:1;;;6334:21:7;6391:2;6371:18;;;6364:30;6430:34;6410:18;;;6403:62;-1:-1:-1;;;6481:18:7;;;6474:36;6527:19;;7840:72:1;6150:402:7;7840:72:1;-1:-1:-1;;;;;7946:15:1;;;:9;:15;;;;;;;;;;;7964:20;;;7946:38;;8161:13;;;;;;;;;;:23;;;;;;8210:26;;1342:25:7;;;8161:13:1;;8210:26;;1315:18:7;8210:26:1;;;;;;;8247:37;9422:659;;-1:-1:-1;;;;;9505:21:1;;9497:67;;;;-1:-1:-1;;;9497:67:1;;6759:2:7;9497:67:1;;;6741:21:7;6798:2;6778:18;;;6771:30;6837:34;6817:18;;;6810:62;-1:-1:-1;;;6888:18:7;;;6881:31;6929:19;;9497:67:1;6557:397:7;9497:67:1;-1:-1:-1;;;;;9660:18:1;;9635:22;9660:18;;;;;;;;;;;9696:24;;;;9688:71;;;;-1:-1:-1;;;9688:71:1;;7161:2:7;9688:71:1;;;7143:21:7;7200:2;7180:18;;;7173:30;7239:34;7219:18;;;7212:62;-1:-1:-1;;;7290:18:7;;;7283:32;7332:19;;9688:71:1;6959:398:7;9688:71:1;-1:-1:-1;;;;;9793:18:1;;:9;:18;;;;;;;;;;;9814:23;;;9793:44;;9930:12;:22;;;;;;;9978:37;1342:25:7;;;9793:9:1;;:18;9978:37;;1315:18:7;9978:37:1;1196:177:7;1359:130:0;1273:6;;-1:-1:-1;;;;;1273:6:0;719:10:5;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;7564:2:7;1414:68:0;;;7546:21:7;;;7583:18;;;7576:30;7642:34;7622:18;;;7615:62;7694:18;;1414:68:0;7362:356:7;2433:187:0;2525:6;;;-1:-1:-1;;;;;2541:17:0;;;-1:-1:-1;;;;;;2541:17:0;;;;;;;2573:40;;2525:6;;;2541:17;2525:6;;2573:40;;2506:16;;2573:40;2496:124;2433:187;:::o;14:548:7:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:7;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:7:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:7;;1900:180;-1:-1:-1;1900:180:7:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;:::-;2226:39;2085:186;-1:-1:-1;;;2085:186:7:o;2484:260::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2652:29;2671:9;2652:29;:::i;:::-;2642:39;;2700:38;2734:2;2723:9;2719:18;2700:38;:::i;:::-;2690:48;;2484:260;;;;;:::o;2749:380::-;2828:1;2824:12;;;;2871;;;2892:61;;2946:4;2938:6;2934:17;2924:27;;2892:61;2999:2;2991:6;2988:14;2968:18;2965:38;2962:161;;3045:10;3040:3;3036:20;3033:1;3026:31;3080:4;3077:1;3070:15;3108:4;3105:1;3098:15;2962:161;;2749:380;;;:::o;3134:222::-;3199:9;;;3220:10;;;3217:133;;;3272:10;3267:3;3263:20;3260:1;3253:31;3307:4;3304:1;3297:15;3335:4;3332:1;3325:15" - }, - "gasEstimates": { - "creation": { - "codeDepositCost": "596600", - "executionCost": "infinite", - "totalCost": "infinite" - }, - "external": { - "allowance(address,address)": "infinite", - "approve(address,uint256)": "24652", - "balanceOf(address)": "2629", - "burn(uint256)": "50827", - "burnFrom(address,uint256)": "infinite", - "decimals()": "200", - "decreaseAllowance(address,uint256)": "26973", - "increaseAllowance(address,uint256)": "infinite", - "name()": "infinite", - "owner()": "2368", - "renounceOwnership()": "infinite", - "symbol()": "infinite", - "totalSupply()": "2349", - "transfer(address,uint256)": "51094", - "transferFrom(address,address,uint256)": "infinite", - "transferOwnership(address)": "28424" - } - }, - "legacyAssembly": { - ".code": [ - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "80" - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "40" - }, - { - "begin": 242, - "end": 406, - "name": "MSTORE", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "CALLVALUE", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "DUP1", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "ISZERO", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "PUSH [tag]", - "source": 6, - "value": "1" - }, - { - "begin": 299, - "end": 404, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 299, - "end": 404, - "name": "DUP1", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "REVERT", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "tag", - "source": 6, - "value": "1" - }, - { - "begin": 299, - "end": 404, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 299, - "end": 404, - "name": "POP", - "source": 6 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "ADD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "8" - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 1976, - "end": 2089, - "name": "ADD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "10DA185A5B91D415" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "C2" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "ADD", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP1", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 1976, - "end": 2089, - "name": "ADD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "10D1D415" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E2" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 1976, - "end": 2089, - "name": "DUP2", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 2050, - "end": 2055, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2042, - "end": 2047, - "name": "PUSH", - "source": 1, - "value": "3" - }, - { - "begin": 2042, - "end": 2055, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "PUSH [tag]", - "source": 1, - "value": "6" - }, - { - "begin": 2042, - "end": 2055, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "PUSH [tag]", - "source": 1, - "value": "7" - }, - { - "begin": 2042, - "end": 2055, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2042, - "end": 2055, - "name": "tag", - "source": 1, - "value": "6" - }, - { - "begin": 2042, - "end": 2055, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2065, - "end": 2072, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 2065, - "end": 2082, - "name": "PUSH [tag]", - "source": 1, - "value": "8" - }, - { - "begin": 2075, - "end": 2082, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2065, - "end": 2072, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "PUSH [tag]", - "source": 1, - "value": "7" - }, - { - "begin": 2065, - "end": 2082, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "tag", - "source": 1, - "value": "8" - }, - { - "begin": 2065, - "end": 2082, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2065, - "end": 2082, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 1976, - "end": 2089, - "name": "POP", - "source": 1 - }, - { - "begin": 936, - "end": 968, - "name": "PUSH [tag]", - "source": 0, - "value": "10" - }, - { - "begin": 955, - "end": 967, - "name": "PUSH [tag]", - "source": 0, - "value": "11" - }, - { - "begin": 955, - "end": 965, - "name": "PUSH [tag]", - "source": 0, - "value": "12" - }, - { - "begin": 955, - "end": 965, - "name": "PUSH", - "source": 0, - "value": "20" - }, - { - "begin": 955, - "end": 965, - "name": "SHL", - "source": 0 - }, - { - "begin": 955, - "end": 967, - "name": "PUSH", - "source": 0, - "value": "20" - }, - { - "begin": 955, - "end": 967, - "name": "SHR", - "source": 0 - }, - { - "begin": 955, - "end": 967, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 955, - "end": 967, - "name": "tag", - "source": 0, - "value": "11" - }, - { - "begin": 955, - "end": 967, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 936, - "end": 954, - "name": "PUSH [tag]", - "source": 0, - "value": "13" - }, - { - "begin": 936, - "end": 968, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 936, - "end": 968, - "name": "tag", - "source": 0, - "value": "10" - }, - { - "begin": 936, - "end": 968, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 349, - "end": 397, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "15" - }, - { - "begin": 355, - "end": 365, - "modifierDepth": 1, - "name": "CALLER", - "source": 6 - }, - { - "begin": 380, - "end": 396, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "18" - }, - { - "begin": 3173, - "end": 3175, - "name": "PUSH", - "source": 1, - "value": "12" - }, - { - "begin": 380, - "end": 382, - "modifierDepth": 1, - "name": "PUSH", - "source": 6, - "value": "A" - }, - { - "begin": 380, - "end": 396, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "19" - }, - { - "begin": 380, - "end": 396, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 6 - }, - { - "begin": 380, - "end": 396, - "modifierDepth": 1, - "name": "tag", - "source": 6, - "value": "18" - }, - { - "begin": 380, - "end": 396, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 367, - "end": 396, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "20" - }, - { - "begin": 367, - "end": 396, - "name": "SWAP1", - "source": 6 - }, - { - "begin": 367, - "end": 377, - "modifierDepth": 1, - "name": "PUSH", - "source": 6, - "value": "3B9ACA00" - }, - { - "begin": 367, - "end": 396, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "21" - }, - { - "begin": 367, - "end": 396, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 6 - }, - { - "begin": 367, - "end": 396, - "modifierDepth": 1, - "name": "tag", - "source": 6, - "value": "20" - }, - { - "begin": 367, - "end": 396, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 349, - "end": 354, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 6, - "value": "22" - }, - { - "begin": 349, - "end": 397, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 6 - }, - { - "begin": 349, - "end": 397, - "modifierDepth": 1, - "name": "tag", - "source": 6, - "value": "15" - }, - { - "begin": 349, - "end": 397, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "49" - }, - { - "begin": 242, - "end": 406, - "name": "JUMP", - "source": 6 - }, - { - "begin": 640, - "end": 736, - "name": "tag", - "source": 5, - "value": "12" - }, - { - "begin": 640, - "end": 736, - "name": "JUMPDEST", - "source": 5 - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 719, - "end": 729, - "name": "SWAP1", - "source": 5 - }, - { - "begin": 640, - "end": 736, - "jumpType": "[out]", - "name": "JUMP", - "source": 5 - }, - { - "begin": 2433, - "end": 2620, - "name": "tag", - "source": 0, - "value": "13" - }, - { - "begin": 2433, - "end": 2620, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "PUSH", - "source": 0, - "value": "5" - }, - { - "begin": 2525, - "end": 2531, - "name": "DUP1", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "AND", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "AND", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "OR", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SSTORE", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { - "begin": 2573, - "end": 2613, - "name": "MLOAD", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP2", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "AND", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "DUP3", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "PUSH", - "source": 0, - "value": "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" - }, - { - "begin": 2573, - "end": 2613, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2506, - "end": 2522, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { - "begin": 2506, - "end": 2522, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "LOG3", - "source": 0 - }, - { - "begin": 2496, - "end": 2620, - "name": "POP", - "source": 0 - }, - { - "begin": 2433, - "end": 2620, - "name": "POP", - "source": 0 - }, - { - "begin": 2433, - "end": 2620, - "jumpType": "[out]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 8567, - "end": 9102, - "name": "tag", - "source": 1, - "value": "22" - }, - { - "begin": 8567, - "end": 9102, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 8650, - "end": 8671, - "name": "DUP3", - "source": 1 - }, - { - "begin": 8650, - "end": 8671, - "name": "AND", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "PUSH [tag]", - "source": 1, - "value": "28" - }, - { - "begin": 8642, - "end": 8707, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8642, - "end": 8707, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 8642, - "end": 8707, - "name": "DUP2", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4625, - "end": 4627, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 8642, - "end": 8707, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 8642, - "end": 8707, - "name": "DUP3", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "ADD", - "source": 1 - }, - { - "begin": 4607, - "end": 4628, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4664, - "end": 4666, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 4644, - "end": 4662, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4644, - "end": 4662, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4644, - "end": 4662, - "name": "ADD", - "source": 7 - }, - { - "begin": 4637, - "end": 4667, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4703, - "end": 4736, - "name": "PUSH", - "source": 7, - "value": "45524332303A206D696E7420746F20746865207A65726F206164647265737300" - }, - { - "begin": 4683, - "end": 4701, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4683, - "end": 4701, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4683, - "end": 4701, - "name": "ADD", - "source": 7 - }, - { - "begin": 4676, - "end": 4737, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4754, - "end": 4772, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4754, - "end": 4772, - "name": "ADD", - "source": 7 - }, - { - "begin": 8642, - "end": 8707, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8642, - "end": 8707, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "SUB", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "REVERT", - "source": 1 - }, - { - "begin": 8642, - "end": 8707, - "name": "tag", - "source": 1, - "value": "28" - }, - { - "begin": 8642, - "end": 8707, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 8794, - "end": 8800, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8778, - "end": 8790, - "name": "PUSH", - "source": 1, - "value": "2" - }, - { - "begin": 8778, - "end": 8790, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 8778, - "end": 8800, - "name": "DUP3", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "DUP3", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "PUSH [tag]", - "source": 1, - "value": "33" - }, - { - "begin": 8778, - "end": 8800, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "PUSH [tag]", - "source": 1, - "value": "34" - }, - { - "begin": 8778, - "end": 8800, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "tag", - "source": 1, - "value": "33" - }, - { - "begin": 8778, - "end": 8800, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8778, - "end": 8800, - "name": "SSTORE", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP3", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "AND", - "source": 1 - }, - { - "begin": 8946, - "end": 8955, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP2", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP2", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP2", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP2", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "DUP4", - "source": 1 - }, - { - "begin": 8946, - "end": 8964, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "DUP7", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "ADD", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8946, - "end": 8974, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 5059, - "end": 5084, - "name": "DUP5", - "source": 7 - }, - { - "begin": 5059, - "end": 5084, - "name": "DUP2", - "source": 7 - }, - { - "begin": 5059, - "end": 5084, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 8999, - "end": 9036, - "name": "PUSH", - "source": 1, - "value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" - }, - { - "begin": 8999, - "end": 9036, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 5032, - "end": 5050, - "name": "ADD", - "source": 7 - }, - { - "begin": 8999, - "end": 9036, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8999, - "end": 9036, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "SUB", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8999, - "end": 9036, - "name": "LOG3", - "source": 1 - }, - { - "begin": 8567, - "end": 9102, - "name": "POP", - "source": 1 - }, - { - "begin": 8567, - "end": 9102, - "name": "POP", - "source": 1 - }, - { - "begin": 8567, - "end": 9102, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 12180, - "end": 12301, - "name": "tag", - "source": 1, - "value": "32" - }, - { - "begin": 12180, - "end": 12301, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 12180, - "end": 12301, - "name": "POP", - "source": 1 - }, - { - "begin": 12180, - "end": 12301, - "name": "POP", - "source": 1 - }, - { - "begin": 12180, - "end": 12301, - "name": "POP", - "source": 1 - }, - { - "begin": 12180, - "end": 12301, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 14, - "end": 141, - "name": "tag", - "source": 7, - "value": "41" - }, - { - "begin": 14, - "end": 141, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 75, - "end": 85, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 70, - "end": 73, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 66, - "end": 86, - "name": "SHL", - "source": 7 - }, - { - "begin": 63, - "end": 64, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 56, - "end": 87, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 106, - "end": 110, - "name": "PUSH", - "source": 7, - "value": "41" - }, - { - "begin": 103, - "end": 104, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 96, - "end": 111, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 130, - "end": 134, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 127, - "end": 128, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 120, - "end": 135, - "name": "REVERT", - "source": 7 - }, - { - "begin": 146, - "end": 526, - "name": "tag", - "source": 7, - "value": "42" - }, - { - "begin": 146, - "end": 526, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 225, - "end": 226, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 221, - "end": 233, - "name": "DUP2", - "source": 7 - }, - { - "begin": 221, - "end": 233, - "name": "DUP2", - "source": 7 - }, - { - "begin": 221, - "end": 233, - "name": "SHR", - "source": 7 - }, - { - "begin": 221, - "end": 233, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 268, - "end": 280, - "name": "DUP3", - "source": 7 - }, - { - "begin": 268, - "end": 280, - "name": "AND", - "source": 7 - }, - { - "begin": 268, - "end": 280, - "name": "DUP1", - "source": 7 - }, - { - "begin": 289, - "end": 350, - "name": "PUSH [tag]", - "source": 7, - "value": "52" - }, - { - "begin": 289, - "end": 350, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 343, - "end": 347, - "name": "PUSH", - "source": 7, - "value": "7F" - }, - { - "begin": 335, - "end": 341, - "name": "DUP3", - "source": 7 - }, - { - "begin": 331, - "end": 348, - "name": "AND", - "source": 7 - }, - { - "begin": 321, - "end": 348, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 321, - "end": 348, - "name": "POP", - "source": 7 - }, - { - "begin": 289, - "end": 350, - "name": "tag", - "source": 7, - "value": "52" - }, - { - "begin": 289, - "end": 350, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 396, - "end": 398, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 388, - "end": 394, - "name": "DUP3", - "source": 7 - }, - { - "begin": 385, - "end": 399, - "name": "LT", - "source": 7 - }, - { - "begin": 365, - "end": 383, - "name": "DUP2", - "source": 7 - }, - { - "begin": 362, - "end": 400, - "name": "SUB", - "source": 7 - }, - { - "begin": 359, - "end": 520, - "name": "PUSH [tag]", - "source": 7, - "value": "53" - }, - { - "begin": 359, - "end": 520, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 442, - "end": 452, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 437, - "end": 440, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 433, - "end": 453, - "name": "SHL", - "source": 7 - }, - { - "begin": 430, - "end": 431, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 423, - "end": 454, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 477, - "end": 481, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 474, - "end": 475, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 467, - "end": 482, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 505, - "end": 509, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 502, - "end": 503, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 495, - "end": 510, - "name": "REVERT", - "source": 7 - }, - { - "begin": 359, - "end": 520, - "name": "tag", - "source": 7, - "value": "53" - }, - { - "begin": 359, - "end": 520, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 359, - "end": 520, - "name": "POP", - "source": 7 - }, - { - "begin": 146, - "end": 526, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 146, - "end": 526, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 146, - "end": 526, - "name": "POP", - "source": 7 - }, - { - "begin": 146, - "end": 526, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 657, - "end": 1202, - "name": "tag", - "source": 7, - "value": "44" - }, - { - "begin": 657, - "end": 1202, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 759, - "end": 761, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 754, - "end": 757, - "name": "DUP3", - "source": 7 - }, - { - "begin": 751, - "end": 762, - "name": "GT", - "source": 7 - }, - { - "begin": 748, - "end": 1196, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 748, - "end": 1196, - "name": "PUSH [tag]", - "source": 7, - "value": "32" - }, - { - "begin": 748, - "end": 1196, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 795, - "end": 796, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 820, - "end": 825, - "name": "DUP2", - "source": 7 - }, - { - "begin": 816, - "end": 818, - "name": "DUP2", - "source": 7 - }, - { - "begin": 809, - "end": 826, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 865, - "end": 869, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 861, - "end": 863, - "name": "DUP2", - "source": 7 - }, - { - "begin": 851, - "end": 870, - "name": "KECCAK256", - "source": 7 - }, - { - "begin": 935, - "end": 937, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 923, - "end": 933, - "name": "DUP6", - "source": 7 - }, - { - "begin": 919, - "end": 938, - "name": "ADD", - "source": 7 - }, - { - "begin": 916, - "end": 917, - "name": "PUSH", - "source": 7, - "value": "5" - }, - { - "begin": 912, - "end": 939, - "name": "SHR", - "source": 7 - }, - { - "begin": 906, - "end": 910, - "name": "DUP2", - "source": 7 - }, - { - "begin": 902, - "end": 940, - "name": "ADD", - "source": 7 - }, - { - "begin": 971, - "end": 975, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 959, - "end": 969, - "name": "DUP7", - "source": 7 - }, - { - "begin": 956, - "end": 976, - "name": "LT", - "source": 7 - }, - { - "begin": 953, - "end": 1000, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 953, - "end": 1000, - "name": "PUSH [tag]", - "source": 7, - "value": "57" - }, - { - "begin": 953, - "end": 1000, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 994, - "end": 998, - "name": "DUP1", - "source": 7 - }, - { - "begin": 953, - "end": 1000, - "name": "tag", - "source": 7, - "value": "57" - }, - { - "begin": 953, - "end": 1000, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1049, - "end": 1051, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 1044, - "end": 1047, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1040, - "end": 1052, - "name": "ADD", - "source": 7 - }, - { - "begin": 1037, - "end": 1038, - "name": "PUSH", - "source": 7, - "value": "5" - }, - { - "begin": 1033, - "end": 1053, - "name": "SHR", - "source": 7 - }, - { - "begin": 1027, - "end": 1031, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1023, - "end": 1054, - "name": "ADD", - "source": 7 - }, - { - "begin": 1013, - "end": 1054, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1013, - "end": 1054, - "name": "POP", - "source": 7 - }, - { - "begin": 1104, - "end": 1186, - "name": "tag", - "source": 7, - "value": "58" - }, - { - "begin": 1104, - "end": 1186, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1122, - "end": 1124, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1115, - "end": 1120, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1112, - "end": 1125, - "name": "LT", - "source": 7 - }, - { - "begin": 1104, - "end": 1186, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1104, - "end": 1186, - "name": "PUSH [tag]", - "source": 7, - "value": "60" - }, - { - "begin": 1104, - "end": 1186, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1167, - "end": 1184, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1167, - "end": 1184, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1167, - "end": 1184, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 1148, - "end": 1149, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 1137, - "end": 1150, - "name": "ADD", - "source": 7 - }, - { - "begin": 1104, - "end": 1186, - "name": "PUSH [tag]", - "source": 7, - "value": "58" - }, - { - "begin": 1104, - "end": 1186, - "name": "JUMP", - "source": 7 - }, - { - "begin": 1104, - "end": 1186, - "name": "tag", - "source": 7, - "value": "60" - }, - { - "begin": 1104, - "end": 1186, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1108, - "end": 1111, - "name": "POP", - "source": 7 - }, - { - "begin": 1108, - "end": 1111, - "name": "POP", - "source": 7 - }, - { - "begin": 1108, - "end": 1111, - "name": "POP", - "source": 7 - }, - { - "begin": 657, - "end": 1202, - "name": "POP", - "source": 7 - }, - { - "begin": 657, - "end": 1202, - "name": "POP", - "source": 7 - }, - { - "begin": 657, - "end": 1202, - "name": "POP", - "source": 7 - }, - { - "begin": 657, - "end": 1202, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1378, - "end": 2730, - "name": "tag", - "source": 7, - "value": "7" - }, - { - "begin": 1378, - "end": 2730, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1498, - "end": 1508, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1498, - "end": 1508, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "40" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 1520, - "end": 1550, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1520, - "end": 1550, - "name": "GT", - "source": 7 - }, - { - "begin": 1517, - "end": 1573, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1517, - "end": 1573, - "name": "PUSH [tag]", - "source": 7, - "value": "64" - }, - { - "begin": 1517, - "end": 1573, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1553, - "end": 1571, - "name": "PUSH [tag]", - "source": 7, - "value": "64" - }, - { - "begin": 1553, - "end": 1571, - "name": "PUSH [tag]", - "source": 7, - "value": "41" - }, - { - "begin": 1553, - "end": 1571, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1553, - "end": 1571, - "name": "tag", - "source": 7, - "value": "64" - }, - { - "begin": 1553, - "end": 1571, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1582, - "end": 1679, - "name": "PUSH [tag]", - "source": 7, - "value": "65" - }, - { - "begin": 1672, - "end": 1678, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1632, - "end": 1670, - "name": "PUSH [tag]", - "source": 7, - "value": "66" - }, - { - "begin": 1664, - "end": 1668, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1658, - "end": 1669, - "name": "SLOAD", - "source": 7 - }, - { - "begin": 1632, - "end": 1670, - "name": "PUSH [tag]", - "source": 7, - "value": "42" - }, - { - "begin": 1632, - "end": 1670, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1632, - "end": 1670, - "name": "tag", - "source": 7, - "value": "66" - }, - { - "begin": 1632, - "end": 1670, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1626, - "end": 1630, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1582, - "end": 1679, - "name": "PUSH [tag]", - "source": 7, - "value": "44" - }, - { - "begin": 1582, - "end": 1679, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1582, - "end": 1679, - "name": "tag", - "source": 7, - "value": "65" - }, - { - "begin": 1582, - "end": 1679, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1734, - "end": 1738, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1734, - "end": 1738, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1798, - "end": 1800, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 1787, - "end": 1801, - "name": "DUP4", - "source": 7 - }, - { - "begin": 1787, - "end": 1801, - "name": "GT", - "source": 7 - }, - { - "begin": 1815, - "end": 1816, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 1810, - "end": 2473, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1810, - "end": 2473, - "name": "EQ", - "source": 7 - }, - { - "begin": 1810, - "end": 2473, - "name": "PUSH [tag]", - "source": 7, - "value": "68" - }, - { - "begin": 1810, - "end": 2473, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2517, - "end": 2518, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2534, - "end": 2540, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2531, - "end": 2620, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2531, - "end": 2620, - "name": "PUSH [tag]", - "source": 7, - "value": "69" - }, - { - "begin": 2531, - "end": 2620, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2586, - "end": 2605, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2586, - "end": 2605, - "name": "DUP4", - "source": 7 - }, - { - "begin": 2586, - "end": 2605, - "name": "ADD", - "source": 7 - }, - { - "begin": 2580, - "end": 2606, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 2531, - "end": 2620, - "name": "tag", - "source": 7, - "value": "69" - }, - { - "begin": 2531, - "end": 2620, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 1335, - "end": 1336, - "name": "PUSH", - "source": 7, - "value": "3" - }, - { - "begin": 1331, - "end": 1342, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1331, - "end": 1342, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1331, - "end": 1342, - "name": "SHL", - "source": 7 - }, - { - "begin": 1327, - "end": 1351, - "name": "SHR", - "source": 7 - }, - { - "begin": 1323, - "end": 1352, - "name": "NOT", - "source": 7 - }, - { - "begin": 1313, - "end": 1353, - "name": "AND", - "source": 7 - }, - { - "begin": 1359, - "end": 1360, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 1355, - "end": 1366, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1355, - "end": 1366, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1355, - "end": 1366, - "name": "SHL", - "source": 7 - }, - { - "begin": 1310, - "end": 1367, - "name": "OR", - "source": 7 - }, - { - "begin": 2633, - "end": 2714, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2633, - "end": 2714, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 1780, - "end": 2724, - "name": "PUSH [tag]", - "source": 7, - "value": "60" - }, - { - "begin": 1780, - "end": 2724, - "name": "JUMP", - "source": 7 - }, - { - "begin": 1810, - "end": 2473, - "name": "tag", - "source": 7, - "value": "68" - }, - { - "begin": 1810, - "end": 2473, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 604, - "end": 605, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 597, - "end": 611, - "name": "DUP6", - "source": 7 - }, - { - "begin": 597, - "end": 611, - "name": "DUP2", - "source": 7 - }, - { - "begin": 597, - "end": 611, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 641, - "end": 645, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 628, - "end": 646, - "name": "DUP2", - "source": 7 - }, - { - "begin": 628, - "end": 646, - "name": "KECCAK256", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1F" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 1846, - "end": 1866, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1846, - "end": 1866, - "name": "AND", - "source": 7 - }, - { - "begin": 1846, - "end": 1866, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1964, - "end": 2200, - "name": "tag", - "source": 7, - "value": "72" - }, - { - "begin": 1964, - "end": 2200, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1978, - "end": 1985, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1975, - "end": 1976, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1972, - "end": 1986, - "name": "LT", - "source": 7 - }, - { - "begin": 1964, - "end": 2200, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1964, - "end": 2200, - "name": "PUSH [tag]", - "source": 7, - "value": "74" - }, - { - "begin": 1964, - "end": 2200, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2067, - "end": 2086, - "name": "DUP9", - "source": 7 - }, - { - "begin": 2067, - "end": 2086, - "name": "DUP7", - "source": 7 - }, - { - "begin": 2067, - "end": 2086, - "name": "ADD", - "source": 7 - }, - { - "begin": 2061, - "end": 2087, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 2046, - "end": 2088, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2046, - "end": 2088, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 2159, - "end": 2186, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 2159, - "end": 2186, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2159, - "end": 2186, - "name": "ADD", - "source": 7 - }, - { - "begin": 2159, - "end": 2186, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 2127, - "end": 2128, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2115, - "end": 2129, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2115, - "end": 2129, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2115, - "end": 2129, - "name": "ADD", - "source": 7 - }, - { - "begin": 2115, - "end": 2129, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1994, - "end": 2013, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1994, - "end": 2013, - "name": "ADD", - "source": 7 - }, - { - "begin": 1964, - "end": 2200, - "name": "PUSH [tag]", - "source": 7, - "value": "72" - }, - { - "begin": 1964, - "end": 2200, - "name": "JUMP", - "source": 7 - }, - { - "begin": 1964, - "end": 2200, - "name": "tag", - "source": 7, - "value": "74" - }, - { - "begin": 1964, - "end": 2200, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1968, - "end": 1971, - "name": "POP", - "source": 7 - }, - { - "begin": 2228, - "end": 2234, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2219, - "end": 2226, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2216, - "end": 2235, - "name": "LT", - "source": 7 - }, - { - "begin": 2213, - "end": 2414, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2213, - "end": 2414, - "name": "PUSH [tag]", - "source": 7, - "value": "75" - }, - { - "begin": 2213, - "end": 2414, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2289, - "end": 2308, - "name": "DUP8", - "source": 7 - }, - { - "begin": 2289, - "end": 2308, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2289, - "end": 2308, - "name": "ADD", - "source": 7 - }, - { - "begin": 2283, - "end": 2309, - "name": "MLOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 2372, - "end": 2373, - "name": "PUSH", - "source": 7, - "value": "3" - }, - { - "begin": 2368, - "end": 2382, - "name": "DUP9", - "source": 7 - }, - { - "begin": 2368, - "end": 2382, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2368, - "end": 2382, - "name": "SHL", - "source": 7 - }, - { - "begin": 2384, - "end": 2387, - "name": "PUSH", - "source": 7, - "value": "F8" - }, - { - "begin": 2364, - "end": 2388, - "name": "AND", - "source": 7 - }, - { - "begin": 2360, - "end": 2397, - "name": "SHR", - "source": 7 - }, - { - "begin": 2356, - "end": 2398, - "name": "NOT", - "source": 7 - }, - { - "begin": 2341, - "end": 2399, - "name": "AND", - "source": 7 - }, - { - "begin": 2326, - "end": 2400, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2326, - "end": 2400, - "name": "SSTORE", - "source": 7 - }, - { - "begin": 2213, - "end": 2414, - "name": "tag", - "source": 7, - "value": "75" - }, - { - "begin": 2213, - "end": 2414, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2460, - "end": 2461, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2444, - "end": 2458, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2444, - "end": 2458, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2444, - "end": 2458, - "name": "SHL", - "source": 7 - }, - { - "begin": 2440, - "end": 2462, - "name": "ADD", - "source": 7 - }, - { - "begin": 2427, - "end": 2463, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2427, - "end": 2463, - "name": "SSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 1378, - "end": 2730, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2735, - "end": 2862, - "name": "tag", - "source": 7, - "value": "46" - }, - { - "begin": 2735, - "end": 2862, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2796, - "end": 2806, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 2791, - "end": 2794, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 2787, - "end": 2807, - "name": "SHL", - "source": 7 - }, - { - "begin": 2784, - "end": 2785, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2777, - "end": 2808, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2827, - "end": 2831, - "name": "PUSH", - "source": 7, - "value": "11" - }, - { - "begin": 2824, - "end": 2825, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 2817, - "end": 2832, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2851, - "end": 2855, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 2848, - "end": 2849, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2841, - "end": 2856, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "tag", - "source": 7, - "value": "47" - }, - { - "begin": 2867, - "end": 3289, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2956, - "end": 2957, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2999, - "end": 3004, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2956, - "end": 2957, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3013, - "end": 3283, - "name": "tag", - "source": 7, - "value": "78" - }, - { - "begin": 3013, - "end": 3283, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3034, - "end": 3041, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3024, - "end": 3032, - "name": "DUP6", - "source": 7 - }, - { - "begin": 3021, - "end": 3042, - "name": "GT", - "source": 7 - }, - { - "begin": 3013, - "end": 3283, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3013, - "end": 3283, - "name": "PUSH [tag]", - "source": 7, - "value": "80" - }, - { - "begin": 3013, - "end": 3283, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3093, - "end": 3097, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3089, - "end": 3090, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3085, - "end": 3091, - "name": "NOT", - "source": 7 - }, - { - "begin": 3081, - "end": 3098, - "name": "DIV", - "source": 7 - }, - { - "begin": 3075, - "end": 3079, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3072, - "end": 3099, - "name": "GT", - "source": 7 - }, - { - "begin": 3069, - "end": 3122, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3069, - "end": 3122, - "name": "PUSH [tag]", - "source": 7, - "value": "82" - }, - { - "begin": 3069, - "end": 3122, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3102, - "end": 3120, - "name": "PUSH [tag]", - "source": 7, - "value": "82" - }, - { - "begin": 3102, - "end": 3120, - "name": "PUSH [tag]", - "source": 7, - "value": "46" - }, - { - "begin": 3102, - "end": 3120, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3102, - "end": 3120, - "name": "tag", - "source": 7, - "value": "82" - }, - { - "begin": 3102, - "end": 3120, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3152, - "end": 3159, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3142, - "end": 3150, - "name": "DUP6", - "source": 7 - }, - { - "begin": 3138, - "end": 3160, - "name": "AND", - "source": 7 - }, - { - "begin": 3135, - "end": 3190, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3135, - "end": 3190, - "name": "PUSH [tag]", - "source": 7, - "value": "83" - }, - { - "begin": 3135, - "end": 3190, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3172, - "end": 3188, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3172, - "end": 3188, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3172, - "end": 3188, - "name": "MUL", - "source": 7 - }, - { - "begin": 3172, - "end": 3188, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3135, - "end": 3190, - "name": "tag", - "source": 7, - "value": "83" - }, - { - "begin": 3135, - "end": 3190, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3251, - "end": 3273, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 3251, - "end": 3273, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3251, - "end": 3273, - "name": "SHR", - "source": 7 - }, - { - "begin": 3251, - "end": 3273, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 3211, - "end": 3226, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3211, - "end": 3226, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3211, - "end": 3226, - "name": "MUL", - "source": 7 - }, - { - "begin": 3211, - "end": 3226, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 3013, - "end": 3283, - "name": "PUSH [tag]", - "source": 7, - "value": "78" - }, - { - "begin": 3013, - "end": 3283, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3013, - "end": 3283, - "name": "tag", - "source": 7, - "value": "80" - }, - { - "begin": 3013, - "end": 3283, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3017, - "end": 3020, - "name": "POP", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "POP", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "name": "POP", - "source": 7 - }, - { - "begin": 2867, - "end": 3289, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "name": "tag", - "source": 7, - "value": "48" - }, - { - "begin": 3294, - "end": 4100, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3343, - "end": 3348, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3373, - "end": 3381, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3363, - "end": 3443, - "name": "PUSH [tag]", - "source": 7, - "value": "85" - }, - { - "begin": 3363, - "end": 3443, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3414, - "end": 3415, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3428, - "end": 3433, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 3428, - "end": 3433, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3363, - "end": 3443, - "name": "tag", - "source": 7, - "value": "85" - }, - { - "begin": 3363, - "end": 3443, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3462, - "end": 3466, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3452, - "end": 3528, - "name": "PUSH [tag]", - "source": 7, - "value": "86" - }, - { - "begin": 3452, - "end": 3528, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3499, - "end": 3500, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3513, - "end": 3518, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 3513, - "end": 3518, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3452, - "end": 3528, - "name": "tag", - "source": 7, - "value": "86" - }, - { - "begin": 3452, - "end": 3528, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3544, - "end": 3548, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3562, - "end": 3563, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3557, - "end": 3616, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3557, - "end": 3616, - "name": "EQ", - "source": 7 - }, - { - "begin": 3557, - "end": 3616, - "name": "PUSH [tag]", - "source": 7, - "value": "88" - }, - { - "begin": 3557, - "end": 3616, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3630, - "end": 3631, - "name": "PUSH", - "source": 7, - "value": "2" - }, - { - "begin": 3625, - "end": 3755, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3625, - "end": 3755, - "name": "EQ", - "source": 7 - }, - { - "begin": 3625, - "end": 3755, - "name": "PUSH [tag]", - "source": 7, - "value": "89" - }, - { - "begin": 3625, - "end": 3755, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3537, - "end": 3755, - "name": "PUSH [tag]", - "source": 7, - "value": "87" - }, - { - "begin": 3537, - "end": 3755, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3557, - "end": 3616, - "name": "tag", - "source": 7, - "value": "88" - }, - { - "begin": 3557, - "end": 3616, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3587, - "end": 3588, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3578, - "end": 3588, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3578, - "end": 3588, - "name": "POP", - "source": 7 - }, - { - "begin": 3601, - "end": 3606, - "name": "POP", - "source": 7 - }, - { - "begin": 3601, - "end": 3606, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 3601, - "end": 3606, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3625, - "end": 3755, - "name": "tag", - "source": 7, - "value": "89" - }, - { - "begin": 3625, - "end": 3755, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3662, - "end": 3665, - "name": "PUSH", - "source": 7, - "value": "FF" - }, - { - "begin": 3652, - "end": 3660, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3649, - "end": 3666, - "name": "GT", - "source": 7 - }, - { - "begin": 3646, - "end": 3689, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3646, - "end": 3689, - "name": "PUSH [tag]", - "source": 7, - "value": "91" - }, - { - "begin": 3646, - "end": 3689, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3669, - "end": 3687, - "name": "PUSH [tag]", - "source": 7, - "value": "91" - }, - { - "begin": 3669, - "end": 3687, - "name": "PUSH [tag]", - "source": 7, - "value": "46" - }, - { - "begin": 3669, - "end": 3687, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3669, - "end": 3687, - "name": "tag", - "source": 7, - "value": "91" - }, - { - "begin": 3669, - "end": 3687, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3725, - "end": 3726, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 3711, - "end": 3727, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3711, - "end": 3727, - "name": "SHL", - "source": 7 - }, - { - "begin": 3740, - "end": 3745, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 3740, - "end": 3745, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3537, - "end": 3755, - "name": "tag", - "source": 7, - "value": "87" - }, - { - "begin": 3537, - "end": 3755, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3537, - "end": 3755, - "name": "POP", - "source": 7 - }, - { - "begin": 3839, - "end": 3841, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 3829, - "end": 3837, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3826, - "end": 3842, - "name": "LT", - "source": 7 - }, - { - "begin": 3820, - "end": 3823, - "name": "PUSH", - "source": 7, - "value": "133" - }, - { - "begin": 3814, - "end": 3818, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3811, - "end": 3824, - "name": "LT", - "source": 7 - }, - { - "begin": 3807, - "end": 3843, - "name": "AND", - "source": 7 - }, - { - "begin": 3801, - "end": 3803, - "name": "PUSH", - "source": 7, - "value": "4E" - }, - { - "begin": 3791, - "end": 3799, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3788, - "end": 3804, - "name": "LT", - "source": 7 - }, - { - "begin": 3783, - "end": 3785, - "name": "PUSH", - "source": 7, - "value": "B" - }, - { - "begin": 3777, - "end": 3781, - "name": "DUP5", - "source": 7 - }, - { - "begin": 3774, - "end": 3786, - "name": "LT", - "source": 7 - }, - { - "begin": 3770, - "end": 3805, - "name": "AND", - "source": 7 - }, - { - "begin": 3767, - "end": 3844, - "name": "OR", - "source": 7 - }, - { - "begin": 3764, - "end": 3923, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3764, - "end": 3923, - "name": "PUSH [tag]", - "source": 7, - "value": "92" - }, - { - "begin": 3764, - "end": 3923, - "name": "JUMPI", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3876, - "end": 3895, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3876, - "end": 3895, - "name": "DUP2", - "source": 7 - }, - { - "begin": 3876, - "end": 3895, - "name": "EXP", - "source": 7 - }, - { - "begin": 3908, - "end": 3913, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 3908, - "end": 3913, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3764, - "end": 3923, - "name": "tag", - "source": 7, - "value": "92" - }, - { - "begin": 3764, - "end": 3923, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3955, - "end": 3989, - "name": "PUSH [tag]", - "source": 7, - "value": "93" - }, - { - "begin": 3980, - "end": 3988, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3974, - "end": 3978, - "name": "DUP4", - "source": 7 - }, - { - "begin": 3955, - "end": 3989, - "name": "PUSH [tag]", - "source": 7, - "value": "47" - }, - { - "begin": 3955, - "end": 3989, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3955, - "end": 3989, - "name": "tag", - "source": 7, - "value": "93" - }, - { - "begin": 3955, - "end": 3989, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4025, - "end": 4031, - "name": "DUP1", - "source": 7 - }, - { - "begin": 4021, - "end": 4022, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 4017, - "end": 4023, - "name": "NOT", - "source": 7 - }, - { - "begin": 4013, - "end": 4032, - "name": "DIV", - "source": 7 - }, - { - "begin": 4004, - "end": 4011, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4001, - "end": 4033, - "name": "GT", - "source": 7 - }, - { - "begin": 3998, - "end": 4056, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3998, - "end": 4056, - "name": "PUSH [tag]", - "source": 7, - "value": "95" - }, - { - "begin": 3998, - "end": 4056, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 4036, - "end": 4054, - "name": "PUSH [tag]", - "source": 7, - "value": "95" - }, - { - "begin": 4036, - "end": 4054, - "name": "PUSH [tag]", - "source": 7, - "value": "46" - }, - { - "begin": 4036, - "end": 4054, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4036, - "end": 4054, - "name": "tag", - "source": 7, - "value": "95" - }, - { - "begin": 4036, - "end": 4054, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4074, - "end": 4094, - "name": "MUL", - "source": 7 - }, - { - "begin": 4074, - "end": 4094, - "name": "SWAP1", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 3294, - "end": 4100, - "name": "tag", - "source": 7, - "value": "84" - }, - { - "begin": 3294, - "end": 4100, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "name": "POP", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "name": "POP", - "source": 7 - }, - { - "begin": 3294, - "end": 4100, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4105, - "end": 4245, - "name": "tag", - "source": 7, - "value": "19" - }, - { - "begin": 4105, - "end": 4245, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4163, - "end": 4168, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 4192, - "end": 4239, - "name": "PUSH [tag]", - "source": 7, - "value": "97" - }, - { - "begin": 4233, - "end": 4237, - "name": "PUSH", - "source": 7, - "value": "FF" - }, - { - "begin": 4223, - "end": 4231, - "name": "DUP5", - "source": 7 - }, - { - "begin": 4219, - "end": 4238, - "name": "AND", - "source": 7 - }, - { - "begin": 4213, - "end": 4217, - "name": "DUP4", - "source": 7 - }, - { - "begin": 4192, - "end": 4239, - "name": "PUSH [tag]", - "source": 7, - "value": "48" - }, - { - "begin": 4192, - "end": 4239, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4192, - "end": 4239, - "name": "tag", - "source": 7, - "value": "97" - }, - { - "begin": 4192, - "end": 4239, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4183, - "end": 4239, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 4105, - "end": 4245, - "name": "SWAP3", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 4105, - "end": 4245, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4250, - "end": 4418, - "name": "tag", - "source": 7, - "value": "21" - }, - { - "begin": 4250, - "end": 4418, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4323, - "end": 4332, - "name": "DUP1", - "source": 7 - }, - { - "begin": 4323, - "end": 4332, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4323, - "end": 4332, - "name": "MUL", - "source": 7 - }, - { - "begin": 4354, - "end": 4363, - "name": "DUP2", - "source": 7 - }, - { - "begin": 4354, - "end": 4363, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 4371, - "end": 4386, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4371, - "end": 4386, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4371, - "end": 4386, - "name": "DIV", - "source": 7 - }, - { - "begin": 4365, - "end": 4387, - "name": "DUP5", - "source": 7 - }, - { - "begin": 4365, - "end": 4387, - "name": "EQ", - "source": 7 - }, - { - "begin": 4351, - "end": 4388, - "name": "OR", - "source": 7 - }, - { - "begin": 4341, - "end": 4412, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 4341, - "end": 4412, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 4392, - "end": 4410, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 4392, - "end": 4410, - "name": "PUSH [tag]", - "source": 7, - "value": "46" - }, - { - "begin": 4392, - "end": 4410, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4783, - "end": 4908, - "name": "tag", - "source": 7, - "value": "34" - }, - { - "begin": 4783, - "end": 4908, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 4848, - "end": 4857, - "name": "DUP1", - "source": 7 - }, - { - "begin": 4848, - "end": 4857, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4848, - "end": 4857, - "name": "ADD", - "source": 7 - }, - { - "begin": 4869, - "end": 4879, - "name": "DUP1", - "source": 7 - }, - { - "begin": 4869, - "end": 4879, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4869, - "end": 4879, - "name": "GT", - "source": 7 - }, - { - "begin": 4866, - "end": 4902, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 4866, - "end": 4902, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 4866, - "end": 4902, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 4882, - "end": 4900, - "name": "PUSH [tag]", - "source": 7, - "value": "84" - }, - { - "begin": 4882, - "end": 4900, - "name": "PUSH [tag]", - "source": 7, - "value": "46" - }, - { - "begin": 4882, - "end": 4900, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 4913, - "end": 5090, - "name": "tag", - "source": 7, - "value": "49" - }, - { - "begin": 4913, - "end": 5090, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH #[$]", - "source": 6, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [$]", - "source": 6, - "value": "0000000000000000000000000000000000000000000000000000000000000000" - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "CODECOPY", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "RETURN", - "source": 6 - } - ], - ".data": { - "0": { - ".auxdata": "a2646970667358221220752c1a7264033a67519f23022e2c375079c74dab80b9c0492dc8a9a57c332c6364736f6c63430008120033", - ".code": [ - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "80" - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "40" - }, - { - "begin": 242, - "end": 406, - "name": "MSTORE", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "CALLVALUE", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "ISZERO", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "1" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "REVERT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "tag", - "source": 6, - "value": "1" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "POP", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "4" - }, - { - "begin": 242, - "end": 406, - "name": "CALLDATASIZE", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "LT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "2" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "CALLDATALOAD", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "E0" - }, - { - "begin": 242, - "end": 406, - "name": "SHR", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "715018A6" - }, - { - "begin": 242, - "end": 406, - "name": "GT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "19" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "A457C2D7" - }, - { - "begin": 242, - "end": 406, - "name": "GT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "20" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "A457C2D7" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "15" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "A9059CBB" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "16" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "DD62ED3E" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "17" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "F2FDE38B" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "18" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "REVERT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "tag", - "source": 6, - "value": "20" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "715018A6" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "11" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "79CC6790" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "12" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "8DA5CB5B" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "13" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "95D89B41" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "14" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "REVERT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "tag", - "source": 6, - "value": "19" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "313CE567" - }, - { - "begin": 242, - "end": 406, - "name": "GT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "21" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "313CE567" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "7" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "39509351" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "8" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "42966C68" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "9" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "70A08231" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "10" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "REVERT", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "tag", - "source": 6, - "value": "21" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "6FDDE03" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "3" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "95EA7B3" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "4" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "18160DDD" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "5" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "23B872DD" - }, - { - "begin": 242, - "end": 406, - "name": "EQ", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH [tag]", - "source": 6, - "value": "6" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPI", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "tag", - "source": 6, - "value": "2" - }, - { - "begin": 242, - "end": 406, - "name": "JUMPDEST", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "PUSH", - "source": 6, - "value": "0" - }, - { - "begin": 242, - "end": 406, - "name": "DUP1", - "source": 6 - }, - { - "begin": 242, - "end": 406, - "name": "REVERT", - "source": 6 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "3" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "22" - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "23" - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "22" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2154, - "end": 2252, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "24" - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH [tag]", - "source": 1, - "value": "25" - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "24" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2154, - "end": 2252, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SUB", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "RETURN", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "4" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "26" - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "27" - }, - { - "begin": 4431, - "end": 4628, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "28" - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "27" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "29" - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "26" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 4431, - "end": 4628, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1169, - "end": 1183, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1169, - "end": 1183, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1162, - "end": 1184, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1144, - "end": 1185, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1144, - "end": 1185, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1132, - "end": 1134, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1117, - "end": 1135, - "name": "ADD", - "source": 7 - }, - { - "begin": 4431, - "end": 4628, - "name": "PUSH [tag]", - "source": 1, - "value": "24" - }, - { - "begin": 1004, - "end": 1191, - "name": "JUMP", - "source": 7 - }, - { - "begin": 3242, - "end": 3348, - "name": "tag", - "source": 1, - "value": "5" - }, - { - "begin": 3242, - "end": 3348, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3329, - "end": 3341, - "name": "PUSH", - "source": 1, - "value": "2" - }, - { - "begin": 3329, - "end": 3341, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 3242, - "end": 3348, - "name": "tag", - "source": 1, - "value": "32" - }, - { - "begin": 3242, - "end": 3348, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3242, - "end": 3348, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3242, - "end": 3348, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1330, - "end": 1332, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 3242, - "end": 3348, - "name": "PUSH [tag]", - "source": 1, - "value": "24" - }, - { - "begin": 1196, - "end": 1373, - "name": "JUMP", - "source": 7 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "6" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "26" - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "37" - }, - { - "begin": 5190, - "end": 5476, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "38" - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "37" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "PUSH [tag]", - "source": 1, - "value": "39" - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3091, - "end": 3182, - "name": "tag", - "source": 1, - "value": "7" - }, - { - "begin": 3091, - "end": 3182, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3091, - "end": 3182, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3091, - "end": 3182, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 3173, - "end": 3175, - "name": "PUSH", - "source": 1, - "value": "12" - }, - { - "begin": 1853, - "end": 1889, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1853, - "end": 1889, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 1841, - "end": 1843, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1826, - "end": 1844, - "name": "ADD", - "source": 7 - }, - { - "begin": 3091, - "end": 3182, - "name": "PUSH [tag]", - "source": 1, - "value": "24" - }, - { - "begin": 1711, - "end": 1895, - "name": "JUMP", - "source": 7 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "8" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "26" - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "46" - }, - { - "begin": 5871, - "end": 6105, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "28" - }, - { - "begin": 5871, - "end": 6105, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "46" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "PUSH [tag]", - "source": 1, - "value": "47" - }, - { - "begin": 5871, - "end": 6105, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 578, - "end": 667, - "name": "tag", - "source": 3, - "value": "9" - }, - { - "begin": 578, - "end": 667, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "PUSH [tag]", - "source": 3, - "value": "49" - }, - { - "begin": 578, - "end": 667, - "name": "PUSH [tag]", - "source": 3, - "value": "50" - }, - { - "begin": 578, - "end": 667, - "name": "CALLDATASIZE", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "PUSH", - "source": 3, - "value": "4" - }, - { - "begin": 578, - "end": 667, - "name": "PUSH [tag]", - "source": 3, - "value": "51" - }, - { - "begin": 578, - "end": 667, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "tag", - "source": 3, - "value": "50" - }, - { - "begin": 578, - "end": 667, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "PUSH [tag]", - "source": 3, - "value": "52" - }, - { - "begin": 578, - "end": 667, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "tag", - "source": 3, - "value": "49" - }, - { - "begin": 578, - "end": 667, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "STOP", - "source": 3 - }, - { - "begin": 3406, - "end": 3531, - "name": "tag", - "source": 1, - "value": "10" - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "32" - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "54" - }, - { - "begin": 3406, - "end": 3531, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3406, - "end": 3531, - "name": "PUSH [tag]", - "source": 1, - "value": "55" - }, - { - "begin": 3406, - "end": 3531, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "tag", - "source": 1, - "value": "54" - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 3506, - "end": 3524, - "name": "AND", - "source": 1 - }, - { - "begin": 3480, - "end": 3487, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "DUP2", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 3506, - "end": 3524, - "name": "DUP2", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 3506, - "end": 3524, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3406, - "end": 3531, - "name": "JUMP", - "source": 1 - }, - { - "begin": 1831, - "end": 1932, - "name": "tag", - "source": 0, - "value": "11" - }, - { - "begin": 1831, - "end": 1932, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1831, - "end": 1932, - "name": "PUSH [tag]", - "source": 0, - "value": "49" - }, - { - "begin": 1831, - "end": 1932, - "name": "PUSH [tag]", - "source": 0, - "value": "59" - }, - { - "begin": 1831, - "end": 1932, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 973, - "end": 1134, - "name": "tag", - "source": 3, - "value": "12" - }, - { - "begin": 973, - "end": 1134, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "PUSH [tag]", - "source": 3, - "value": "49" - }, - { - "begin": 973, - "end": 1134, - "name": "PUSH [tag]", - "source": 3, - "value": "61" - }, - { - "begin": 973, - "end": 1134, - "name": "CALLDATASIZE", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "PUSH", - "source": 3, - "value": "4" - }, - { - "begin": 973, - "end": 1134, - "name": "PUSH [tag]", - "source": 3, - "value": "28" - }, - { - "begin": 973, - "end": 1134, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "tag", - "source": 3, - "value": "61" - }, - { - "begin": 973, - "end": 1134, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "PUSH [tag]", - "source": 3, - "value": "62" - }, - { - "begin": 973, - "end": 1134, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 1201, - "end": 1286, - "name": "tag", - "source": 0, - "value": "13" - }, - { - "begin": 1201, - "end": 1286, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1273, - "end": 1279, - "name": "PUSH", - "source": 0, - "value": "5" - }, - { - "begin": 1273, - "end": 1279, - "name": "SLOAD", - "source": 0 - }, - { - "begin": 1201, - "end": 1286, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { - "begin": 1201, - "end": 1286, - "name": "MLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 1273, - "end": 1279, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 1273, - "end": 1279, - "name": "SWAP2", - "source": 0 - }, - { - "begin": 1273, - "end": 1279, - "name": "AND", - "source": 0 - }, - { - "begin": 2422, - "end": 2473, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2422, - "end": 2473, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 2410, - "end": 2412, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2395, - "end": 2413, - "name": "ADD", - "source": 7 - }, - { - "begin": 1201, - "end": 1286, - "name": "PUSH [tag]", - "source": 0, - "value": "24" - }, - { - "begin": 2276, - "end": 2479, - "name": "JUMP", - "source": 7 - }, - { - "begin": 2365, - "end": 2467, - "name": "tag", - "source": 1, - "value": "14" - }, - { - "begin": 2365, - "end": 2467, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2365, - "end": 2467, - "name": "PUSH [tag]", - "source": 1, - "value": "22" - }, - { - "begin": 2365, - "end": 2467, - "name": "PUSH [tag]", - "source": 1, - "value": "68" - }, - { - "begin": 2365, - "end": 2467, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "15" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "26" - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "71" - }, - { - "begin": 6592, - "end": 7019, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "28" - }, - { - "begin": 6592, - "end": 7019, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "71" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "PUSH [tag]", - "source": 1, - "value": "72" - }, - { - "begin": 6592, - "end": 7019, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "16" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "26" - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "75" - }, - { - "begin": 3727, - "end": 3916, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "28" - }, - { - "begin": 3727, - "end": 3916, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "75" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "PUSH [tag]", - "source": 1, - "value": "76" - }, - { - "begin": 3727, - "end": 3916, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "17" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "32" - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "79" - }, - { - "begin": 3974, - "end": 4123, - "name": "CALLDATASIZE", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "80" - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "79" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2081, - "end": 2279, - "name": "tag", - "source": 0, - "value": "18" - }, - { - "begin": 2081, - "end": 2279, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 2081, - "end": 2279, - "name": "PUSH [tag]", - "source": 0, - "value": "49" - }, - { - "begin": 2081, - "end": 2279, - "name": "PUSH [tag]", - "source": 0, - "value": "84" - }, - { - "begin": 2081, - "end": 2279, - "name": "CALLDATASIZE", - "source": 0 - }, - { - "begin": 2081, - "end": 2279, - "name": "PUSH", - "source": 0, - "value": "4" - }, - { - "begin": 2081, - "end": 2279, - "name": "PUSH [tag]", - "source": 0, - "value": "55" - }, - { - "begin": 2081, - "end": 2279, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 2081, - "end": 2279, - "name": "tag", - "source": 0, - "value": "84" - }, - { - "begin": 2081, - "end": 2279, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 2081, - "end": 2279, - "name": "PUSH [tag]", - "source": 0, - "value": "85" - }, - { - "begin": 2081, - "end": 2279, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 2154, - "end": 2252, - "name": "tag", - "source": 1, - "value": "23" - }, - { - "begin": 2154, - "end": 2252, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2208, - "end": 2221, - "name": "PUSH", - "source": 1, - "value": "60" - }, - { - "begin": 2240, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "3" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "87" - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "88" - }, - { - "begin": 2233, - "end": 2245, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "87" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DIV", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MUL", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2233, - "end": 2245, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "89" - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "88" - }, - { - "begin": 2233, - "end": 2245, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "89" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "90" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "LT", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "91" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "100" - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DIV", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MUL", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "90" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "91" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 2233, - "end": 2245, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "92" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP4", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "GT", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH [tag]", - "source": 1, - "value": "92" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SUB", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "PUSH", - "source": 1, - "value": "1F" - }, - { - "begin": 2233, - "end": 2245, - "name": "AND", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "DUP3", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "ADD", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "tag", - "source": 1, - "value": "90" - }, - { - "begin": 2233, - "end": 2245, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2233, - "end": 2245, - "name": "POP", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2154, - "end": 2252, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "29" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4514, - "end": 4518, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 4568, - "end": 4600, - "name": "PUSH [tag]", - "source": 1, - "value": "96" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 4584, - "end": 4591, - "name": "DUP6", - "source": 1 - }, - { - "begin": 4593, - "end": 4599, - "name": "DUP6", - "source": 1 - }, - { - "begin": 4568, - "end": 4576, - "name": "PUSH [tag]", - "source": 1, - "value": "97" - }, - { - "begin": 4568, - "end": 4600, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 4568, - "end": 4600, - "name": "tag", - "source": 1, - "value": "96" - }, - { - "begin": 4568, - "end": 4600, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4617, - "end": 4621, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 4610, - "end": 4621, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4610, - "end": 4621, - "name": "POP", - "source": 1 - }, - { - "begin": 4610, - "end": 4621, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "tag", - "source": 1, - "value": "93" - }, - { - "begin": 4431, - "end": 4628, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "name": "POP", - "source": 1 - }, - { - "begin": 4431, - "end": 4628, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "tag", - "source": 1, - "value": "39" - }, - { - "begin": 5190, - "end": 5476, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5317, - "end": 5321, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 5373, - "end": 5411, - "name": "PUSH [tag]", - "source": 1, - "value": "101" - }, - { - "begin": 5389, - "end": 5393, - "name": "DUP6", - "source": 1 - }, - { - "begin": 719, - "end": 729, - "name": "DUP3", - "source": 5 - }, - { - "begin": 5404, - "end": 5410, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5373, - "end": 5388, - "name": "PUSH [tag]", - "source": 1, - "value": "102" - }, - { - "begin": 5373, - "end": 5411, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5373, - "end": 5411, - "name": "tag", - "source": 1, - "value": "101" - }, - { - "begin": 5373, - "end": 5411, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5421, - "end": 5448, - "name": "PUSH [tag]", - "source": 1, - "value": "103" - }, - { - "begin": 5431, - "end": 5435, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5437, - "end": 5439, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5441, - "end": 5447, - "name": "DUP6", - "source": 1 - }, - { - "begin": 5421, - "end": 5430, - "name": "PUSH [tag]", - "source": 1, - "value": "104" - }, - { - "begin": 5421, - "end": 5448, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5421, - "end": 5448, - "name": "tag", - "source": 1, - "value": "103" - }, - { - "begin": 5421, - "end": 5448, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 5465, - "end": 5469, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 5465, - "end": 5469, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 5190, - "end": 5476, - "name": "SWAP4", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 5190, - "end": 5476, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 5871, - "end": 6105, - "name": "tag", - "source": 1, - "value": "47" - }, - { - "begin": 5871, - "end": 6105, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 5959, - "end": 5963, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 6013, - "end": 6077, - "name": "PUSH [tag]", - "source": 1, - "value": "96" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 6029, - "end": 6036, - "name": "DUP6", - "source": 1 - }, - { - "begin": 6066, - "end": 6076, - "name": "DUP6", - "source": 1 - }, - { - "begin": 6038, - "end": 6063, - "name": "PUSH [tag]", - "source": 1, - "value": "109" - }, - { - "begin": 719, - "end": 729, - "name": "DUP4", - "source": 5 - }, - { - "begin": 6029, - "end": 6036, - "name": "DUP4", - "source": 1 - }, - { - "begin": 6038, - "end": 6047, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 6038, - "end": 6063, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6038, - "end": 6063, - "name": "tag", - "source": 1, - "value": "109" - }, - { - "begin": 6038, - "end": 6063, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "PUSH [tag]", - "source": 1, - "value": "110" - }, - { - "begin": 6038, - "end": 6076, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "PUSH [tag]", - "source": 1, - "value": "111" - }, - { - "begin": 6038, - "end": 6076, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6038, - "end": 6076, - "name": "tag", - "source": 1, - "value": "110" - }, - { - "begin": 6038, - "end": 6076, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6013, - "end": 6021, - "name": "PUSH [tag]", - "source": 1, - "value": "97" - }, - { - "begin": 6013, - "end": 6077, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 578, - "end": 667, - "name": "tag", - "source": 3, - "value": "52" - }, - { - "begin": 578, - "end": 667, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 633, - "end": 660, - "name": "PUSH [tag]", - "source": 3, - "value": "113" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 653, - "end": 659, - "name": "DUP3", - "source": 3 - }, - { - "begin": 633, - "end": 638, - "name": "PUSH [tag]", - "source": 3, - "value": "115" - }, - { - "begin": 633, - "end": 660, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 633, - "end": 660, - "name": "tag", - "source": 3, - "value": "113" - }, - { - "begin": 633, - "end": 660, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "name": "POP", - "source": 3 - }, - { - "begin": 578, - "end": 667, - "jumpType": "[out]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 1831, - "end": 1932, - "name": "tag", - "source": 0, - "value": "59" - }, - { - "begin": 1831, - "end": 1932, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1094, - "end": 1107, - "name": "PUSH [tag]", - "source": 0, - "value": "118" - }, - { - "begin": 1094, - "end": 1105, - "name": "PUSH [tag]", - "source": 0, - "value": "119" - }, - { - "begin": 1094, - "end": 1107, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 1094, - "end": 1107, - "name": "tag", - "source": 0, - "value": "118" - }, - { - "begin": 1094, - "end": 1107, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1895, - "end": 1925, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "121" - }, - { - "begin": 1922, - "end": 1923, - "modifierDepth": 1, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { - "begin": 1895, - "end": 1913, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "122" - }, - { - "begin": 1895, - "end": 1925, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 0 - }, - { - "begin": 1895, - "end": 1925, - "modifierDepth": 1, - "name": "tag", - "source": 0, - "value": "121" - }, - { - "begin": 1895, - "end": 1925, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1831, - "end": 1932, - "jumpType": "[out]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 973, - "end": 1134, - "name": "tag", - "source": 3, - "value": "62" - }, - { - "begin": 973, - "end": 1134, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 1049, - "end": 1095, - "name": "PUSH [tag]", - "source": 3, - "value": "124" - }, - { - "begin": 1065, - "end": 1072, - "name": "DUP3", - "source": 3 - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 1088, - "end": 1094, - "name": "DUP4", - "source": 3 - }, - { - "begin": 1049, - "end": 1064, - "name": "PUSH [tag]", - "source": 3, - "value": "102" - }, - { - "begin": 1049, - "end": 1095, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 1049, - "end": 1095, - "name": "tag", - "source": 3, - "value": "124" - }, - { - "begin": 1049, - "end": 1095, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 1105, - "end": 1127, - "name": "PUSH [tag]", - "source": 3, - "value": "126" - }, - { - "begin": 1111, - "end": 1118, - "name": "DUP3", - "source": 3 - }, - { - "begin": 1120, - "end": 1126, - "name": "DUP3", - "source": 3 - }, - { - "begin": 1105, - "end": 1110, - "name": "PUSH [tag]", - "source": 3, - "value": "115" - }, - { - "begin": 1105, - "end": 1127, - "jumpType": "[in]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 1105, - "end": 1127, - "name": "tag", - "source": 3, - "value": "126" - }, - { - "begin": 1105, - "end": 1127, - "name": "JUMPDEST", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "POP", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "name": "POP", - "source": 3 - }, - { - "begin": 973, - "end": 1134, - "jumpType": "[out]", - "name": "JUMP", - "source": 3 - }, - { - "begin": 2365, - "end": 2467, - "name": "tag", - "source": 1, - "value": "68" - }, - { - "begin": 2365, - "end": 2467, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 2421, - "end": 2434, - "name": "PUSH", - "source": 1, - "value": "60" - }, - { - "begin": 2453, - "end": 2460, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 2446, - "end": 2460, - "name": "DUP1", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "PUSH [tag]", - "source": 1, - "value": "87" - }, - { - "begin": 2446, - "end": 2460, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 2446, - "end": 2460, - "name": "PUSH [tag]", - "source": 1, - "value": "88" - }, - { - "begin": 2446, - "end": 2460, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6592, - "end": 7019, - "name": "tag", - "source": 1, - "value": "72" - }, - { - "begin": 6592, - "end": 7019, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6685, - "end": 6689, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 6685, - "end": 6689, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6766, - "end": 6791, - "name": "PUSH [tag]", - "source": 1, - "value": "136" - }, - { - "begin": 719, - "end": 729, - "name": "DUP3", - "source": 5 - }, - { - "begin": 6783, - "end": 6790, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6766, - "end": 6775, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 6766, - "end": 6791, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 6766, - "end": 6791, - "name": "tag", - "source": 1, - "value": "136" - }, - { - "begin": 6766, - "end": 6791, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6739, - "end": 6791, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6739, - "end": 6791, - "name": "POP", - "source": 1 - }, - { - "begin": 6829, - "end": 6844, - "name": "DUP4", - "source": 1 - }, - { - "begin": 6809, - "end": 6825, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6809, - "end": 6844, - "name": "LT", - "source": 1 - }, - { - "begin": 6809, - "end": 6844, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH [tag]", - "source": 1, - "value": "137" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 6801, - "end": 6886, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP2", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 3563, - "end": 3565, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP3", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "ADD", - "source": 1 - }, - { - "begin": 3545, - "end": 3566, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3602, - "end": 3604, - "name": "PUSH", - "source": 7, - "value": "25" - }, - { - "begin": 3582, - "end": 3600, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3582, - "end": 3600, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3582, - "end": 3600, - "name": "ADD", - "source": 7 - }, - { - "begin": 3575, - "end": 3605, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3641, - "end": 3675, - "name": "PUSH", - "source": 7, - "value": "45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77" - }, - { - "begin": 3621, - "end": 3639, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 3621, - "end": 3639, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3621, - "end": 3639, - "name": "ADD", - "source": 7 - }, - { - "begin": 3614, - "end": 3676, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "207A65726F" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 3692, - "end": 3710, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 3692, - "end": 3710, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3692, - "end": 3710, - "name": "ADD", - "source": 7 - }, - { - "begin": 3685, - "end": 3720, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3737, - "end": 3756, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 3737, - "end": 3756, - "name": "ADD", - "source": 7 - }, - { - "begin": 6801, - "end": 6886, - "name": "tag", - "source": 1, - "value": "138" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 6801, - "end": 6886, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "DUP1", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SUB", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "REVERT", - "source": 1 - }, - { - "begin": 6801, - "end": 6886, - "name": "tag", - "source": 1, - "value": "137" - }, - { - "begin": 6801, - "end": 6886, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 6920, - "end": 6980, - "name": "PUSH [tag]", - "source": 1, - "value": "103" - }, - { - "begin": 6929, - "end": 6934, - "name": "DUP3", - "source": 1 - }, - { - "begin": 6936, - "end": 6943, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6964, - "end": 6979, - "name": "DUP7", - "source": 1 - }, - { - "begin": 6945, - "end": 6961, - "name": "DUP5", - "source": 1 - }, - { - "begin": 6945, - "end": 6979, - "name": "SUB", - "source": 1 - }, - { - "begin": 6920, - "end": 6928, - "name": "PUSH [tag]", - "source": 1, - "value": "97" - }, - { - "begin": 6920, - "end": 6980, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3727, - "end": 3916, - "name": "tag", - "source": 1, - "value": "76" - }, - { - "begin": 3727, - "end": 3916, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 3806, - "end": 3810, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 3860, - "end": 3888, - "name": "PUSH [tag]", - "source": 1, - "value": "96" - }, - { - "begin": 719, - "end": 729, - "name": "DUP2", - "source": 5 - }, - { - "begin": 3877, - "end": 3879, - "name": "DUP6", - "source": 1 - }, - { - "begin": 3881, - "end": 3887, - "name": "DUP6", - "source": 1 - }, - { - "begin": 3860, - "end": 3869, - "name": "PUSH [tag]", - "source": 1, - "value": "104" - }, - { - "begin": 3860, - "end": 3888, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "name": "tag", - "source": 1, - "value": "81" - }, - { - "begin": 3974, - "end": 4123, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP3", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "AND", - "source": 1 - }, - { - "begin": 4063, - "end": 4070, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4100, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 4089, - "end": 4107, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 4089, - "end": 4107, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "DUP4", - "source": 1 - }, - { - "begin": 4089, - "end": 4107, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP4", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "AND", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "DUP3", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 4089, - "end": 4116, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 3974, - "end": 4123, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 2081, - "end": 2279, - "name": "tag", - "source": 0, - "value": "85" - }, - { - "begin": 2081, - "end": 2279, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1094, - "end": 1107, - "name": "PUSH [tag]", - "source": 0, - "value": "146" - }, - { - "begin": 1094, - "end": 1105, - "name": "PUSH [tag]", - "source": 0, - "value": "119" - }, - { - "begin": 1094, - "end": 1107, - "jumpType": "[in]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 1094, - "end": 1107, - "name": "tag", - "source": 0, - "value": "146" - }, - { - "begin": 1094, - "end": 1107, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 2169, - "end": 2191, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2169, - "end": 2191, - "modifierDepth": 1, - "name": "AND", - "source": 0 - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "148" - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "JUMPI", - "source": 0 - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { - "begin": 2161, - "end": 2234, - "name": "MLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 2161, - "end": 2234, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2161, - "end": 2234, - "name": "MSTORE", - "source": 0 - }, - { - "begin": 3969, - "end": 3971, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "PUSH", - "source": 0, - "value": "4" - }, - { - "begin": 2161, - "end": 2234, - "name": "DUP3", - "source": 0 - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "ADD", - "source": 0 - }, - { - "begin": 3951, - "end": 3972, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4008, - "end": 4010, - "name": "PUSH", - "source": 7, - "value": "26" - }, - { - "begin": 3988, - "end": 4006, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3988, - "end": 4006, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3988, - "end": 4006, - "name": "ADD", - "source": 7 - }, - { - "begin": 3981, - "end": 4011, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4047, - "end": 4081, - "name": "PUSH", - "source": 7, - "value": "4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" - }, - { - "begin": 4027, - "end": 4045, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4027, - "end": 4045, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4027, - "end": 4045, - "name": "ADD", - "source": 7 - }, - { - "begin": 4020, - "end": 4082, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "646472657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 4098, - "end": 4116, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4098, - "end": 4116, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4098, - "end": 4116, - "name": "ADD", - "source": 7 - }, - { - "begin": 4091, - "end": 4127, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4144, - "end": 4163, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 4144, - "end": 4163, - "name": "ADD", - "source": 7 - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "138" - }, - { - "begin": 3767, - "end": 4169, - "name": "JUMP", - "source": 7 - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "tag", - "source": 0, - "value": "148" - }, - { - "begin": 2161, - "end": 2234, - "modifierDepth": 1, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 2244, - "end": 2272, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "113" - }, - { - "begin": 2263, - "end": 2271, - "modifierDepth": 1, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2244, - "end": 2262, - "modifierDepth": 1, - "name": "PUSH [tag]", - "source": 0, - "value": "122" - }, - { - "begin": 2244, - "end": 2272, - "jumpType": "[in]", - "modifierDepth": 1, - "name": "JUMP", - "source": 0 - }, - { - "begin": 10504, - "end": 10874, - "name": "tag", - "source": 1, - "value": "97" - }, - { - "begin": 10504, - "end": 10874, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10635, - "end": 10654, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10635, - "end": 10654, - "name": "AND", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH [tag]", - "source": 1, - "value": "154" - }, - { - "begin": 10627, - "end": 10695, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10627, - "end": 10695, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 10627, - "end": 10695, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4376, - "end": 4378, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 10627, - "end": 10695, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10627, - "end": 10695, - "name": "ADD", - "source": 1 - }, - { - "begin": 4358, - "end": 4379, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4415, - "end": 4417, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4395, - "end": 4413, - "name": "DUP1", - "source": 7 - }, - { - "begin": 4395, - "end": 4413, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4395, - "end": 4413, - "name": "ADD", - "source": 7 - }, - { - "begin": 4388, - "end": 4418, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4454, - "end": 4488, - "name": "PUSH", - "source": 7, - "value": "45524332303A20617070726F76652066726F6D20746865207A65726F20616464" - }, - { - "begin": 4434, - "end": 4452, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4434, - "end": 4452, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4434, - "end": 4452, - "name": "ADD", - "source": 7 - }, - { - "begin": 4427, - "end": 4489, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "72657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 4505, - "end": 4523, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4505, - "end": 4523, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4505, - "end": 4523, - "name": "ADD", - "source": 7 - }, - { - "begin": 4498, - "end": 4532, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4549, - "end": 4568, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 4549, - "end": 4568, - "name": "ADD", - "source": 7 - }, - { - "begin": 10627, - "end": 10695, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 4174, - "end": 4574, - "name": "JUMP", - "source": 7 - }, - { - "begin": 10627, - "end": 10695, - "name": "tag", - "source": 1, - "value": "154" - }, - { - "begin": 10627, - "end": 10695, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10713, - "end": 10734, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10713, - "end": 10734, - "name": "AND", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH [tag]", - "source": 1, - "value": "157" - }, - { - "begin": 10705, - "end": 10773, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10705, - "end": 10773, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 10705, - "end": 10773, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 4781, - "end": 4783, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 10705, - "end": 10773, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10705, - "end": 10773, - "name": "ADD", - "source": 1 - }, - { - "begin": 4763, - "end": 4784, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4820, - "end": 4822, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 4800, - "end": 4818, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 4800, - "end": 4818, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4800, - "end": 4818, - "name": "ADD", - "source": 7 - }, - { - "begin": 4793, - "end": 4823, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4859, - "end": 4893, - "name": "PUSH", - "source": 7, - "value": "45524332303A20617070726F766520746F20746865207A65726F206164647265" - }, - { - "begin": 4839, - "end": 4857, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 4839, - "end": 4857, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4839, - "end": 4857, - "name": "ADD", - "source": 7 - }, - { - "begin": 4832, - "end": 4894, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "7373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "F0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 4910, - "end": 4928, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 4910, - "end": 4928, - "name": "DUP3", - "source": 7 - }, - { - "begin": 4910, - "end": 4928, - "name": "ADD", - "source": 7 - }, - { - "begin": 4903, - "end": 4935, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 4952, - "end": 4971, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 4952, - "end": 4971, - "name": "ADD", - "source": 7 - }, - { - "begin": 10705, - "end": 10773, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 4579, - "end": 4977, - "name": "JUMP", - "source": 7 - }, - { - "begin": 10705, - "end": 10773, - "name": "tag", - "source": 1, - "value": "157" - }, - { - "begin": 10705, - "end": 10773, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "AND", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10795, - "name": "PUSH", - "source": 1, - "value": "1" - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 10784, - "end": 10802, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "DUP4", - "source": 1 - }, - { - "begin": 10784, - "end": 10802, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP8", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "AND", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP5", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "DUP3", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10811, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "DUP6", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10784, - "end": 10820, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 10835, - "end": 10867, - "name": "PUSH", - "source": 1, - "value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 10835, - "end": 10867, - "name": "tag", - "source": 1, - "value": "160" - }, - { - "begin": 10835, - "end": 10867, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 10835, - "end": 10867, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "DUP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SUB", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 10835, - "end": 10867, - "name": "LOG3", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "name": "POP", - "source": 1 - }, - { - "begin": 10504, - "end": 10874, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "tag", - "source": 1, - "value": "102" - }, - { - "begin": 11155, - "end": 11596, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11285, - "end": 11309, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 11312, - "end": 11337, - "name": "PUSH [tag]", - "source": 1, - "value": "162" - }, - { - "begin": 11322, - "end": 11327, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11329, - "end": 11336, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11312, - "end": 11321, - "name": "PUSH [tag]", - "source": 1, - "value": "81" - }, - { - "begin": 11312, - "end": 11337, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11312, - "end": 11337, - "name": "tag", - "source": 1, - "value": "162" - }, - { - "begin": 11312, - "end": 11337, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11285, - "end": 11337, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 11285, - "end": 11337, - "name": "POP", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "0" - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 11351, - "end": 11367, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11351, - "end": 11388, - "name": "EQ", - "source": 1 - }, - { - "begin": 11347, - "end": 11590, - "name": "PUSH [tag]", - "source": 1, - "value": "167" - }, - { - "begin": 11347, - "end": 11590, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 11432, - "end": 11438, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11412, - "end": 11428, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11412, - "end": 11438, - "name": "LT", - "source": 1 - }, - { - "begin": 11412, - "end": 11438, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH [tag]", - "source": 1, - "value": "164" - }, - { - "begin": 11404, - "end": 11472, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 11404, - "end": 11472, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 11404, - "end": 11472, - "name": "DUP2", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 5184, - "end": 5186, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 11404, - "end": 11472, - "name": "DUP3", - "source": 1 - }, - { - "begin": 11404, - "end": 11472, - "name": "ADD", - "source": 1 - }, - { - "begin": 5166, - "end": 5187, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5223, - "end": 5225, - "name": "PUSH", - "source": 7, - "value": "1D" - }, - { - "begin": 5203, - "end": 5221, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 5203, - "end": 5221, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5203, - "end": 5221, - "name": "ADD", - "source": 7 - }, - { - "begin": 5196, - "end": 5226, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5262, - "end": 5293, - "name": "PUSH", - "source": 7, - "value": "45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000" - }, - { - "begin": 5242, - "end": 5260, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 5242, - "end": 5260, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5242, - "end": 5260, - "name": "ADD", - "source": 7 - }, - { - "begin": 5235, - "end": 5294, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5311, - "end": 5329, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 5311, - "end": 5329, - "name": "ADD", - "source": 7 - }, - { - "begin": 11404, - "end": 11472, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 4982, - "end": 5335, - "name": "JUMP", - "source": 7 - }, - { - "begin": 11404, - "end": 11472, - "name": "tag", - "source": 1, - "value": "164" - }, - { - "begin": 11404, - "end": 11472, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11514, - "end": 11565, - "name": "PUSH [tag]", - "source": 1, - "value": "167" - }, - { - "begin": 11523, - "end": 11528, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11530, - "end": 11537, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11558, - "end": 11564, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11539, - "end": 11555, - "name": "DUP5", - "source": 1 - }, - { - "begin": 11539, - "end": 11564, - "name": "SUB", - "source": 1 - }, - { - "begin": 11514, - "end": 11522, - "name": "PUSH [tag]", - "source": 1, - "value": "97" - }, - { - "begin": 11514, - "end": 11565, - "jumpType": "[in]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 11514, - "end": 11565, - "name": "tag", - "source": 1, - "value": "167" - }, - { - "begin": 11514, - "end": 11565, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": 11275, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "name": "POP", - "source": 1 - }, - { - "begin": 11155, - "end": 11596, - "jumpType": "[out]", - "name": "JUMP", - "source": 1 - }, - { - "begin": 7473, - "end": 8291, - "name": "tag", - "source": 1, - "value": "104" - }, - { - "begin": 7473, - "end": 8291, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7599, - "end": 7617, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7599, - "end": 7617, - "name": "AND", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH [tag]", - "source": 1, - "value": "169" - }, - { - "begin": 7591, - "end": 7659, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7591, - "end": 7659, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7591, - "end": 7659, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 5542, - "end": 5544, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7591, - "end": 7659, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7591, - "end": 7659, - "name": "ADD", - "source": 1 - }, - { - "begin": 5524, - "end": 5545, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5581, - "end": 5583, - "name": "PUSH", - "source": 7, - "value": "25" - }, - { - "begin": 5561, - "end": 5579, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 5561, - "end": 5579, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5561, - "end": 5579, - "name": "ADD", - "source": 7 - }, - { - "begin": 5554, - "end": 5584, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5620, - "end": 5654, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E736665722066726F6D20746865207A65726F206164" - }, - { - "begin": 5600, - "end": 5618, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 5600, - "end": 5618, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5600, - "end": 5618, - "name": "ADD", - "source": 7 - }, - { - "begin": 5593, - "end": 5655, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "6472657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 5671, - "end": 5689, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 5671, - "end": 5689, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5671, - "end": 5689, - "name": "ADD", - "source": 7 - }, - { - "begin": 5664, - "end": 5699, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5716, - "end": 5735, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 5716, - "end": 5735, - "name": "ADD", - "source": 7 - }, - { - "begin": 7591, - "end": 7659, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 5340, - "end": 5741, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7591, - "end": 7659, - "name": "tag", - "source": 1, - "value": "169" - }, - { - "begin": 7591, - "end": 7659, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7677, - "end": 7693, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7677, - "end": 7693, - "name": "AND", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH [tag]", - "source": 1, - "value": "172" - }, - { - "begin": 7669, - "end": 7733, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7669, - "end": 7733, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7669, - "end": 7733, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 5948, - "end": 5950, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7669, - "end": 7733, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7669, - "end": 7733, - "name": "ADD", - "source": 1 - }, - { - "begin": 5930, - "end": 5951, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 5987, - "end": 5989, - "name": "PUSH", - "source": 7, - "value": "23" - }, - { - "begin": 5967, - "end": 5985, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 5967, - "end": 5985, - "name": "DUP3", - "source": 7 - }, - { - "begin": 5967, - "end": 5985, - "name": "ADD", - "source": 7 - }, - { - "begin": 5960, - "end": 5990, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6026, - "end": 6060, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E7366657220746F20746865207A65726F2061646472" - }, - { - "begin": 6006, - "end": 6024, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 6006, - "end": 6024, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6006, - "end": 6024, - "name": "ADD", - "source": 7 - }, - { - "begin": 5999, - "end": 6061, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "657373" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 6077, - "end": 6095, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 6077, - "end": 6095, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6077, - "end": 6095, - "name": "ADD", - "source": 7 - }, - { - "begin": 6070, - "end": 6103, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6120, - "end": 6139, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 6120, - "end": 6139, - "name": "ADD", - "source": 7 - }, - { - "begin": 7669, - "end": 7733, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 5746, - "end": 6145, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7669, - "end": 7733, - "name": "tag", - "source": 1, - "value": "172" - }, - { - "begin": 7669, - "end": 7733, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "AND", - "source": 1 - }, - { - "begin": 7793, - "end": 7812, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 7815, - "end": 7830, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7815, - "end": 7830, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 7815, - "end": 7830, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "LT", - "source": 1 - }, - { - "begin": 7848, - "end": 7869, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH [tag]", - "source": 1, - "value": "177" - }, - { - "begin": 7840, - "end": 7912, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7840, - "end": 7912, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7840, - "end": 7912, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 6352, - "end": 6354, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 7840, - "end": 7912, - "name": "DUP3", - "source": 1 - }, - { - "begin": 7840, - "end": 7912, - "name": "ADD", - "source": 1 - }, - { - "begin": 6334, - "end": 6355, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6391, - "end": 6393, - "name": "PUSH", - "source": 7, - "value": "26" - }, - { - "begin": 6371, - "end": 6389, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 6371, - "end": 6389, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6371, - "end": 6389, - "name": "ADD", - "source": 7 - }, - { - "begin": 6364, - "end": 6394, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6430, - "end": 6464, - "name": "PUSH", - "source": 7, - "value": "45524332303A207472616E7366657220616D6F756E7420657863656564732062" - }, - { - "begin": 6410, - "end": 6428, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 6410, - "end": 6428, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6410, - "end": 6428, - "name": "ADD", - "source": 7 - }, - { - "begin": 6403, - "end": 6465, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "616C616E6365" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "D0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 6481, - "end": 6499, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 6481, - "end": 6499, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6481, - "end": 6499, - "name": "ADD", - "source": 7 - }, - { - "begin": 6474, - "end": 6510, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6527, - "end": 6546, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 6527, - "end": 6546, - "name": "ADD", - "source": 7 - }, - { - "begin": 7840, - "end": 7912, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 6150, - "end": 6552, - "name": "JUMP", - "source": 7 - }, - { - "begin": 7840, - "end": 7912, - "name": "tag", - "source": 1, - "value": "177" - }, - { - "begin": 7840, - "end": 7912, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP5", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "AND", - "source": 1 - }, - { - "begin": 7946, - "end": 7955, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP2", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP1", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "DUP4", - "source": 1 - }, - { - "begin": 7946, - "end": 7961, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "DUP8", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "DUP8", - "source": 1 - }, - { - "begin": 7964, - "end": 7984, - "name": "SUB", - "source": 1 - }, - { - "begin": 7946, - "end": 7984, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 7946, - "end": 7984, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP4", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP8", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "AND", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP4", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "DUP5", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "DUP8", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "ADD", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8184, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8161, - "end": 8174, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "PUSH", - "source": 1, - "value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 8210, - "end": 8236, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 8210, - "end": 8236, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "DUP1", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SUB", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 8210, - "end": 8236, - "name": "LOG3", - "source": 1 - }, - { - "begin": 8247, - "end": 8284, - "name": "PUSH [tag]", - "source": 1, - "value": "167" - }, - { - "begin": 9422, - "end": 10081, - "name": "JUMP", - "source": 1 - }, - { - "begin": 9422, - "end": 10081, - "name": "tag", - "source": 1, - "value": "115" - }, - { - "begin": 9422, - "end": 10081, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 9505, - "end": 9526, - "name": "DUP3", - "source": 1 - }, - { - "begin": 9505, - "end": 9526, - "name": "AND", - "source": 1 - }, - { - "begin": 9497, - "end": 9564, - "name": "PUSH [tag]", - "source": 1, - "value": "184" - }, - { - "begin": 9497, - "end": 9564, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 9497, - "end": 9564, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 9497, - "end": 9564, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 9497, - "end": 9564, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9497, - "end": 9564, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 6759, - "end": 6761, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 9497, - "end": 9564, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 9497, - "end": 9564, - "name": "DUP3", - "source": 1 - }, - { - "begin": 9497, - "end": 9564, - "name": "ADD", - "source": 1 - }, - { - "begin": 6741, - "end": 6762, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6798, - "end": 6800, - "name": "PUSH", - "source": 7, - "value": "21" - }, - { - "begin": 6778, - "end": 6796, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 6778, - "end": 6796, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6778, - "end": 6796, - "name": "ADD", - "source": 7 - }, - { - "begin": 6771, - "end": 6801, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6837, - "end": 6871, - "name": "PUSH", - "source": 7, - "value": "45524332303A206275726E2066726F6D20746865207A65726F20616464726573" - }, - { - "begin": 6817, - "end": 6835, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 6817, - "end": 6835, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6817, - "end": 6835, - "name": "ADD", - "source": 7 - }, - { - "begin": 6810, - "end": 6872, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "73" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "F8" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 6888, - "end": 6906, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 6888, - "end": 6906, - "name": "DUP3", - "source": 7 - }, - { - "begin": 6888, - "end": 6906, - "name": "ADD", - "source": 7 - }, - { - "begin": 6881, - "end": 6912, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 6929, - "end": 6948, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 6929, - "end": 6948, - "name": "ADD", - "source": 7 - }, - { - "begin": 9497, - "end": 9564, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 6557, - "end": 6954, - "name": "JUMP", - "source": 7 - }, - { - "begin": 9497, - "end": 9564, - "name": "tag", - "source": 1, - "value": "184" - }, - { - "begin": 9497, - "end": 9564, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 9660, - "end": 9678, - "name": "DUP3", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "AND", - "source": 1 - }, - { - "begin": 9635, - "end": 9657, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 9660, - "end": 9678, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 9660, - "end": 9678, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 9660, - "end": 9678, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 9660, - "end": 9678, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 9696, - "end": 9720, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9696, - "end": 9720, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9696, - "end": 9720, - "name": "LT", - "source": 1 - }, - { - "begin": 9696, - "end": 9720, - "name": "ISZERO", - "source": 1 - }, - { - "begin": 9688, - "end": 9759, - "name": "PUSH [tag]", - "source": 1, - "value": "188" - }, - { - "begin": 9688, - "end": 9759, - "name": "JUMPI", - "source": 1 - }, - { - "begin": 9688, - "end": 9759, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 9688, - "end": 9759, - "name": "MLOAD", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 9688, - "end": 9759, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9688, - "end": 9759, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 7161, - "end": 7163, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 9688, - "end": 9759, - "name": "PUSH", - "source": 1, - "value": "4" - }, - { - "begin": 9688, - "end": 9759, - "name": "DUP3", - "source": 1 - }, - { - "begin": 9688, - "end": 9759, - "name": "ADD", - "source": 1 - }, - { - "begin": 7143, - "end": 7164, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7200, - "end": 7202, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 7180, - "end": 7198, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 7180, - "end": 7198, - "name": "DUP3", - "source": 7 - }, - { - "begin": 7180, - "end": 7198, - "name": "ADD", - "source": 7 - }, - { - "begin": 7173, - "end": 7203, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7239, - "end": 7273, - "name": "PUSH", - "source": 7, - "value": "45524332303A206275726E20616D6F756E7420657863656564732062616C616E" - }, - { - "begin": 7219, - "end": 7237, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 7219, - "end": 7237, - "name": "DUP3", - "source": 7 - }, - { - "begin": 7219, - "end": 7237, - "name": "ADD", - "source": 7 - }, - { - "begin": 7212, - "end": 7274, - "name": "MSTORE", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "6365" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "F0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 7290, - "end": 7308, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 7290, - "end": 7308, - "name": "DUP3", - "source": 7 - }, - { - "begin": 7290, - "end": 7308, - "name": "ADD", - "source": 7 - }, - { - "begin": 7283, - "end": 7315, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7332, - "end": 7351, - "name": "PUSH", - "source": 7, - "value": "84" - }, - { - "begin": 7332, - "end": 7351, - "name": "ADD", - "source": 7 - }, - { - "begin": 9688, - "end": 9759, - "name": "PUSH [tag]", - "source": 1, - "value": "138" - }, - { - "begin": 6959, - "end": 7357, - "name": "JUMP", - "source": 7 - }, - { - "begin": 9688, - "end": 9759, - "name": "tag", - "source": 1, - "value": "188" - }, - { - "begin": 9688, - "end": 9759, - "name": "JUMPDEST", - "source": 1 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP4", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "AND", - "source": 1 - }, - { - "begin": 9793, - "end": 9802, - "name": "PUSH", - "source": 1, - "value": "0" - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "PUSH", - "source": 1, - "value": "20" - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP2", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "MSTORE", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "PUSH", - "source": 1, - "value": "40" - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP1", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "DUP4", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "KECCAK256", - "source": 1 - }, - { - "begin": 9814, - "end": 9837, - "name": "DUP7", - "source": 1 - }, - { - "begin": 9814, - "end": 9837, - "name": "DUP7", - "source": 1 - }, - { - "begin": 9814, - "end": 9837, - "name": "SUB", - "source": 1 - }, - { - "begin": 9793, - "end": 9837, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9793, - "end": 9837, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 9930, - "end": 9942, - "name": "PUSH", - "source": 1, - "value": "2" - }, - { - "begin": 9930, - "end": 9952, - "name": "DUP1", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "SLOAD", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "DUP8", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "SUB", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "SWAP1", - "source": 1 - }, - { - "begin": 9930, - "end": 9952, - "name": "SSTORE", - "source": 1 - }, - { - "begin": 9978, - "end": 10015, - "name": "MLOAD", - "source": 1 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "DUP2", - "source": 7 - }, - { - "begin": 1342, - "end": 1367, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 9793, - "end": 9802, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 9793, - "end": 9802, - "name": "SWAP3", - "source": 1 - }, - { - "begin": 9793, - "end": 9811, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 9978, - "end": 10015, - "name": "PUSH", - "source": 1, - "value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" - }, - { - "begin": 9978, - "end": 10015, - "name": "SWAP2", - "source": 1 - }, - { - "begin": 1315, - "end": 1333, - "name": "ADD", - "source": 7 - }, - { - "begin": 9978, - "end": 10015, - "name": "PUSH [tag]", - "source": 1, - "value": "160" - }, - { - "begin": 1196, - "end": 1373, - "name": "JUMP", - "source": 7 - }, - { - "begin": 1359, - "end": 1489, - "name": "tag", - "source": 0, - "value": "119" - }, - { - "begin": 1359, - "end": 1489, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 1273, - "end": 1279, - "name": "PUSH", - "source": 0, - "value": "5" - }, - { - "begin": 1273, - "end": 1279, - "name": "SLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 1273, - "end": 1279, - "name": "AND", - "source": 0 - }, - { - "begin": 719, - "end": 729, - "name": "CALLER", - "source": 5 - }, - { - "begin": 1422, - "end": 1445, - "name": "EQ", - "source": 0 - }, - { - "begin": 1414, - "end": 1482, - "name": "PUSH [tag]", - "source": 0, - "value": "121" - }, - { - "begin": 1414, - "end": 1482, - "name": "JUMPI", - "source": 0 - }, - { - "begin": 1414, - "end": 1482, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { - "begin": 1414, - "end": 1482, - "name": "MLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "461BCD" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "E5" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": 1414, - "end": 1482, - "name": "DUP2", - "source": 0 - }, - { - "begin": 1414, - "end": 1482, - "name": "MSTORE", - "source": 0 - }, - { - "begin": 7564, - "end": 7566, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1414, - "end": 1482, - "name": "PUSH", - "source": 0, - "value": "4" - }, - { - "begin": 1414, - "end": 1482, - "name": "DUP3", - "source": 0 - }, - { - "begin": 1414, - "end": 1482, - "name": "ADD", - "source": 0 - }, - { - "begin": 7546, - "end": 7567, - "name": "DUP2", - "source": 7 - }, - { - "begin": 7546, - "end": 7567, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 7546, - "end": 7567, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7583, - "end": 7601, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 7583, - "end": 7601, - "name": "DUP3", - "source": 7 - }, - { - "begin": 7583, - "end": 7601, - "name": "ADD", - "source": 7 - }, - { - "begin": 7576, - "end": 7606, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7642, - "end": 7676, - "name": "PUSH", - "source": 7, - "value": "4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" - }, - { - "begin": 7622, - "end": 7640, - "name": "PUSH", - "source": 7, - "value": "44" - }, - { - "begin": 7622, - "end": 7640, - "name": "DUP3", - "source": 7 - }, - { - "begin": 7622, - "end": 7640, - "name": "ADD", - "source": 7 - }, - { - "begin": 7615, - "end": 7677, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 7694, - "end": 7712, - "name": "PUSH", - "source": 7, - "value": "64" - }, - { - "begin": 7694, - "end": 7712, - "name": "ADD", - "source": 7 - }, - { - "begin": 1414, - "end": 1482, - "name": "PUSH [tag]", - "source": 0, - "value": "138" - }, - { - "begin": 7362, - "end": 7718, - "name": "JUMP", - "source": 7 - }, - { - "begin": 2433, - "end": 2620, - "name": "tag", - "source": 0, - "value": "122" - }, - { - "begin": 2433, - "end": 2620, - "name": "JUMPDEST", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "PUSH", - "source": 0, - "value": "5" - }, - { - "begin": 2525, - "end": 2531, - "name": "DUP1", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SLOAD", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "AND", - "source": 0 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "NOT", - "source": -1 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "AND", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "DUP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "OR", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP4", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SSTORE", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "PUSH", - "source": 0, - "value": "40" - }, - { - "begin": 2573, - "end": 2613, - "name": "MLOAD", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP2", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "AND", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP2", - "source": 0 - }, - { - "begin": 2541, - "end": 2558, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "DUP3", - "source": 0 - }, - { - "begin": 2525, - "end": 2531, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "PUSH", - "source": 0, - "value": "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" - }, - { - "begin": 2573, - "end": 2613, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2506, - "end": 2522, - "name": "PUSH", - "source": 0, - "value": "0" - }, - { - "begin": 2506, - "end": 2522, - "name": "SWAP1", - "source": 0 - }, - { - "begin": 2573, - "end": 2613, - "name": "LOG3", - "source": 0 - }, - { - "begin": 2496, - "end": 2620, - "name": "POP", - "source": 0 - }, - { - "begin": 2433, - "end": 2620, - "name": "POP", - "source": 0 - }, - { - "begin": 2433, - "end": 2620, - "jumpType": "[out]", - "name": "JUMP", - "source": 0 - }, - { - "begin": 14, - "end": 562, - "name": "tag", - "source": 7, - "value": "25" - }, - { - "begin": 14, - "end": 562, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 126, - "end": 130, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 155, - "end": 157, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 184, - "end": 186, - "name": "DUP1", - "source": 7 - }, - { - "begin": 173, - "end": 182, - "name": "DUP4", - "source": 7 - }, - { - "begin": 166, - "end": 187, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 216, - "end": 222, - "name": "DUP4", - "source": 7 - }, - { - "begin": 210, - "end": 223, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 259, - "end": 265, - "name": "DUP1", - "source": 7 - }, - { - "begin": 254, - "end": 256, - "name": "DUP3", - "source": 7 - }, - { - "begin": 243, - "end": 252, - "name": "DUP6", - "source": 7 - }, - { - "begin": 239, - "end": 257, - "name": "ADD", - "source": 7 - }, - { - "begin": 232, - "end": 266, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 284, - "end": 285, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 294, - "end": 434, - "name": "tag", - "source": 7, - "value": "205" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 308, - "end": 314, - "name": "DUP2", - "source": 7 - }, - { - "begin": 305, - "end": 306, - "name": "DUP2", - "source": 7 - }, - { - "begin": 302, - "end": 315, - "name": "LT", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "PUSH [tag]", - "source": 7, - "value": "207" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "DUP6", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "DUP2", - "source": 7 - }, - { - "begin": 403, - "end": 417, - "name": "ADD", - "source": 7 - }, - { - "begin": 399, - "end": 422, - "name": "DUP4", - "source": 7 - }, - { - "begin": 399, - "end": 422, - "name": "ADD", - "source": 7 - }, - { - "begin": 393, - "end": 423, - "name": "MLOAD", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "DUP6", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "DUP3", - "source": 7 - }, - { - "begin": 369, - "end": 386, - "name": "ADD", - "source": 7 - }, - { - "begin": 388, - "end": 390, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 365, - "end": 391, - "name": "ADD", - "source": 7 - }, - { - "begin": 358, - "end": 424, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 323, - "end": 333, - "name": "DUP3", - "source": 7 - }, - { - "begin": 323, - "end": 333, - "name": "ADD", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "PUSH [tag]", - "source": 7, - "value": "205" - }, - { - "begin": 294, - "end": 434, - "name": "JUMP", - "source": 7 - }, - { - "begin": 294, - "end": 434, - "name": "tag", - "source": 7, - "value": "207" - }, - { - "begin": 294, - "end": 434, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 298, - "end": 301, - "name": "POP", - "source": 7 - }, - { - "begin": 483, - "end": 484, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 478, - "end": 480, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 469, - "end": 475, - "name": "DUP3", - "source": 7 - }, - { - "begin": 458, - "end": 467, - "name": "DUP7", - "source": 7 - }, - { - "begin": 454, - "end": 476, - "name": "ADD", - "source": 7 - }, - { - "begin": 450, - "end": 481, - "name": "ADD", - "source": 7 - }, - { - "begin": 443, - "end": 485, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 553, - "end": 555, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 546, - "end": 548, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 542, - "end": 549, - "name": "NOT", - "source": 7 - }, - { - "begin": 537, - "end": 539, - "name": "PUSH", - "source": 7, - "value": "1F" - }, - { - "begin": 529, - "end": 535, - "name": "DUP4", - "source": 7 - }, - { - "begin": 525, - "end": 540, - "name": "ADD", - "source": 7 - }, - { - "begin": 521, - "end": 550, - "name": "AND", - "source": 7 - }, - { - "begin": 510, - "end": 519, - "name": "DUP6", - "source": 7 - }, - { - "begin": 506, - "end": 551, - "name": "ADD", - "source": 7 - }, - { - "begin": 502, - "end": 556, - "name": "ADD", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 494, - "end": 556, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "name": "POP", - "source": 7 - }, - { - "begin": 14, - "end": 562, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "tag", - "source": 7, - "value": "202" - }, - { - "begin": 567, - "end": 740, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 635, - "end": 655, - "name": "DUP1", - "source": 7 - }, - { - "begin": 635, - "end": 655, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "1" - }, - { - "begin": -1, - "end": -1, - "name": "PUSH", - "source": -1, - "value": "A0" - }, - { - "begin": -1, - "end": -1, - "name": "SHL", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "SUB", - "source": -1 - }, - { - "begin": 684, - "end": 715, - "name": "DUP2", - "source": 7 - }, - { - "begin": 684, - "end": 715, - "name": "AND", - "source": 7 - }, - { - "begin": 674, - "end": 716, - "name": "DUP2", - "source": 7 - }, - { - "begin": 674, - "end": 716, - "name": "EQ", - "source": 7 - }, - { - "begin": 664, - "end": 734, - "name": "PUSH [tag]", - "source": 7, - "value": "209" - }, - { - "begin": 664, - "end": 734, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 730, - "end": 731, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 727, - "end": 728, - "name": "DUP1", - "source": 7 - }, - { - "begin": 720, - "end": 732, - "name": "REVERT", - "source": 7 - }, - { - "begin": 664, - "end": 734, - "name": "tag", - "source": 7, - "value": "209" - }, - { - "begin": 664, - "end": 734, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "name": "POP", - "source": 7 - }, - { - "begin": 567, - "end": 740, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 745, - "end": 999, - "name": "tag", - "source": 7, - "value": "28" - }, - { - "begin": 745, - "end": 999, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 813, - "end": 819, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 821, - "end": 827, - "name": "DUP1", - "source": 7 - }, - { - "begin": 874, - "end": 876, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 862, - "end": 871, - "name": "DUP4", - "source": 7 - }, - { - "begin": 853, - "end": 860, - "name": "DUP6", - "source": 7 - }, - { - "begin": 849, - "end": 872, - "name": "SUB", - "source": 7 - }, - { - "begin": 845, - "end": 877, - "name": "SLT", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "PUSH [tag]", - "source": 7, - "value": "211" - }, - { - "begin": 842, - "end": 894, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 890, - "end": 891, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 887, - "end": 888, - "name": "DUP1", - "source": 7 - }, - { - "begin": 880, - "end": 892, - "name": "REVERT", - "source": 7 - }, - { - "begin": 842, - "end": 894, - "name": "tag", - "source": 7, - "value": "211" - }, - { - "begin": 842, - "end": 894, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "PUSH [tag]", - "source": 7, - "value": "212" - }, - { - "begin": 932, - "end": 941, - "name": "DUP4", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 913, - "end": 942, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 913, - "end": 942, - "name": "tag", - "source": 7, - "value": "212" - }, - { - "begin": 913, - "end": 942, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 903, - "end": 942, - "name": "SWAP5", - "source": 7 - }, - { - "begin": 989, - "end": 991, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 974, - "end": 992, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 974, - "end": 992, - "name": "ADD", - "source": 7 - }, - { - "begin": 961, - "end": 993, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": 961, - "end": 993, - "name": "SWAP4", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 745, - "end": 999, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "tag", - "source": 7, - "value": "38" - }, - { - "begin": 1378, - "end": 1706, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1455, - "end": 1461, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1463, - "end": 1469, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1471, - "end": 1477, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1524, - "end": 1526, - "name": "PUSH", - "source": 7, - "value": "60" - }, - { - "begin": 1512, - "end": 1521, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1503, - "end": 1510, - "name": "DUP7", - "source": 7 - }, - { - "begin": 1499, - "end": 1522, - "name": "SUB", - "source": 7 - }, - { - "begin": 1495, - "end": 1527, - "name": "SLT", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "PUSH [tag]", - "source": 7, - "value": "216" - }, - { - "begin": 1492, - "end": 1544, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 1540, - "end": 1541, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 1537, - "end": 1538, - "name": "DUP1", - "source": 7 - }, - { - "begin": 1530, - "end": 1542, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1492, - "end": 1544, - "name": "tag", - "source": 7, - "value": "216" - }, - { - "begin": 1492, - "end": 1544, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "PUSH [tag]", - "source": 7, - "value": "217" - }, - { - "begin": 1582, - "end": 1591, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 1563, - "end": 1592, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1563, - "end": 1592, - "name": "tag", - "source": 7, - "value": "217" - }, - { - "begin": 1563, - "end": 1592, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1553, - "end": 1592, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1553, - "end": 1592, - "name": "POP", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "PUSH [tag]", - "source": 7, - "value": "218" - }, - { - "begin": 1645, - "end": 1647, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 1634, - "end": 1643, - "name": "DUP6", - "source": 7 - }, - { - "begin": 1630, - "end": 1648, - "name": "ADD", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 1611, - "end": 1649, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1611, - "end": 1649, - "name": "tag", - "source": 7, - "value": "218" - }, - { - "begin": 1611, - "end": 1649, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1601, - "end": 1649, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1601, - "end": 1649, - "name": "POP", - "source": 7 - }, - { - "begin": 1696, - "end": 1698, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 1685, - "end": 1694, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1681, - "end": 1699, - "name": "ADD", - "source": 7 - }, - { - "begin": 1668, - "end": 1700, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": 1658, - "end": 1700, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 1658, - "end": 1700, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "POP", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 1378, - "end": 1706, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 1900, - "end": 2080, - "name": "tag", - "source": 7, - "value": "51" - }, - { - "begin": 1900, - "end": 2080, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 1959, - "end": 1965, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2012, - "end": 2014, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2000, - "end": 2009, - "name": "DUP3", - "source": 7 - }, - { - "begin": 1991, - "end": 1998, - "name": "DUP5", - "source": 7 - }, - { - "begin": 1987, - "end": 2010, - "name": "SUB", - "source": 7 - }, - { - "begin": 1983, - "end": 2015, - "name": "SLT", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "PUSH [tag]", - "source": 7, - "value": "221" - }, - { - "begin": 1980, - "end": 2032, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2028, - "end": 2029, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2025, - "end": 2026, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2018, - "end": 2030, - "name": "REVERT", - "source": 7 - }, - { - "begin": 1980, - "end": 2032, - "name": "tag", - "source": 7, - "value": "221" - }, - { - "begin": 1980, - "end": 2032, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2051, - "end": 2074, - "name": "CALLDATALOAD", - "source": 7 - }, - { - "begin": 2051, - "end": 2074, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 1900, - "end": 2080, - "name": "SWAP1", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 1900, - "end": 2080, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2085, - "end": 2271, - "name": "tag", - "source": 7, - "value": "55" - }, - { - "begin": 2085, - "end": 2271, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2144, - "end": 2150, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2197, - "end": 2199, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2185, - "end": 2194, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2176, - "end": 2183, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2172, - "end": 2195, - "name": "SUB", - "source": 7 - }, - { - "begin": 2168, - "end": 2200, - "name": "SLT", - "source": 7 - }, - { - "begin": 2165, - "end": 2217, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2165, - "end": 2217, - "name": "PUSH [tag]", - "source": 7, - "value": "223" - }, - { - "begin": 2165, - "end": 2217, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2213, - "end": 2214, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2210, - "end": 2211, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2203, - "end": 2215, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2165, - "end": 2217, - "name": "tag", - "source": 7, - "value": "223" - }, - { - "begin": 2165, - "end": 2217, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2236, - "end": 2265, - "name": "PUSH [tag]", - "source": 7, - "value": "224" - }, - { - "begin": 2255, - "end": 2264, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2236, - "end": 2265, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 2236, - "end": 2265, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2236, - "end": 2265, - "name": "tag", - "source": 7, - "value": "224" - }, - { - "begin": 2236, - "end": 2265, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2226, - "end": 2265, - "name": "SWAP4", - "source": 7 - }, - { - "begin": 2085, - "end": 2271, - "name": "SWAP3", - "source": 7 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": -1, - "end": -1, - "name": "POP", - "source": -1 - }, - { - "begin": 2085, - "end": 2271, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "tag", - "source": 7, - "value": "80" - }, - { - "begin": 2484, - "end": 2744, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2552, - "end": 2558, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2560, - "end": 2566, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2613, - "end": 2615, - "name": "PUSH", - "source": 7, - "value": "40" - }, - { - "begin": 2601, - "end": 2610, - "name": "DUP4", - "source": 7 - }, - { - "begin": 2592, - "end": 2599, - "name": "DUP6", - "source": 7 - }, - { - "begin": 2588, - "end": 2611, - "name": "SUB", - "source": 7 - }, - { - "begin": 2584, - "end": 2616, - "name": "SLT", - "source": 7 - }, - { - "begin": 2581, - "end": 2633, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 2581, - "end": 2633, - "name": "PUSH [tag]", - "source": 7, - "value": "227" - }, - { - "begin": 2581, - "end": 2633, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2629, - "end": 2630, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 2626, - "end": 2627, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2619, - "end": 2631, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2581, - "end": 2633, - "name": "tag", - "source": 7, - "value": "227" - }, - { - "begin": 2581, - "end": 2633, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2652, - "end": 2681, - "name": "PUSH [tag]", - "source": 7, - "value": "228" - }, - { - "begin": 2671, - "end": 2680, - "name": "DUP4", - "source": 7 - }, - { - "begin": 2652, - "end": 2681, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 2652, - "end": 2681, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2652, - "end": 2681, - "name": "tag", - "source": 7, - "value": "228" - }, - { - "begin": 2652, - "end": 2681, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2642, - "end": 2681, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2642, - "end": 2681, - "name": "POP", - "source": 7 - }, - { - "begin": 2700, - "end": 2738, - "name": "PUSH [tag]", - "source": 7, - "value": "229" - }, - { - "begin": 2734, - "end": 2736, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2723, - "end": 2732, - "name": "DUP5", - "source": 7 - }, - { - "begin": 2719, - "end": 2737, - "name": "ADD", - "source": 7 - }, - { - "begin": 2700, - "end": 2738, - "name": "PUSH [tag]", - "source": 7, - "value": "202" - }, - { - "begin": 2700, - "end": 2738, - "jumpType": "[in]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2700, - "end": 2738, - "name": "tag", - "source": 7, - "value": "229" - }, - { - "begin": 2700, - "end": 2738, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2690, - "end": 2738, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2690, - "end": 2738, - "name": "POP", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "POP", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "SWAP3", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "name": "POP", - "source": 7 - }, - { - "begin": 2484, - "end": 2744, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 2749, - "end": 3129, - "name": "tag", - "source": 7, - "value": "88" - }, - { - "begin": 2749, - "end": 3129, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2828, - "end": 2829, - "name": "PUSH", - "source": 7, - "value": "1" - }, - { - "begin": 2824, - "end": 2836, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2824, - "end": 2836, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2824, - "end": 2836, - "name": "SHR", - "source": 7 - }, - { - "begin": 2824, - "end": 2836, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2871, - "end": 2883, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2871, - "end": 2883, - "name": "AND", - "source": 7 - }, - { - "begin": 2871, - "end": 2883, - "name": "DUP1", - "source": 7 - }, - { - "begin": 2892, - "end": 2953, - "name": "PUSH [tag]", - "source": 7, - "value": "231" - }, - { - "begin": 2892, - "end": 2953, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 2946, - "end": 2950, - "name": "PUSH", - "source": 7, - "value": "7F" - }, - { - "begin": 2938, - "end": 2944, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2934, - "end": 2951, - "name": "AND", - "source": 7 - }, - { - "begin": 2924, - "end": 2951, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2924, - "end": 2951, - "name": "POP", - "source": 7 - }, - { - "begin": 2892, - "end": 2953, - "name": "tag", - "source": 7, - "value": "231" - }, - { - "begin": 2892, - "end": 2953, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2999, - "end": 3001, - "name": "PUSH", - "source": 7, - "value": "20" - }, - { - "begin": 2991, - "end": 2997, - "name": "DUP3", - "source": 7 - }, - { - "begin": 2988, - "end": 3002, - "name": "LT", - "source": 7 - }, - { - "begin": 2968, - "end": 2986, - "name": "DUP2", - "source": 7 - }, - { - "begin": 2965, - "end": 3003, - "name": "SUB", - "source": 7 - }, - { - "begin": 2962, - "end": 3123, - "name": "PUSH [tag]", - "source": 7, - "value": "232" - }, - { - "begin": 2962, - "end": 3123, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3045, - "end": 3055, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 3040, - "end": 3043, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 3036, - "end": 3056, - "name": "SHL", - "source": 7 - }, - { - "begin": 3033, - "end": 3034, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3026, - "end": 3057, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3080, - "end": 3084, - "name": "PUSH", - "source": 7, - "value": "22" - }, - { - "begin": 3077, - "end": 3078, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 3070, - "end": 3085, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3108, - "end": 3112, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3105, - "end": 3106, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3098, - "end": 3113, - "name": "REVERT", - "source": 7 - }, - { - "begin": 2962, - "end": 3123, - "name": "tag", - "source": 7, - "value": "232" - }, - { - "begin": 2962, - "end": 3123, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 2962, - "end": 3123, - "name": "POP", - "source": 7 - }, - { - "begin": 2749, - "end": 3129, - "name": "SWAP2", - "source": 7 - }, - { - "begin": 2749, - "end": 3129, - "name": "SWAP1", - "source": 7 - }, - { - "begin": 2749, - "end": 3129, - "name": "POP", - "source": 7 - }, - { - "begin": 2749, - "end": 3129, - "jumpType": "[out]", - "name": "JUMP", - "source": 7 - }, - { - "begin": 3134, - "end": 3356, - "name": "tag", - "source": 7, - "value": "111" - }, - { - "begin": 3134, - "end": 3356, - "name": "JUMPDEST", - "source": 7 - }, - { - "begin": 3199, - "end": 3208, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3199, - "end": 3208, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3199, - "end": 3208, - "name": "ADD", - "source": 7 - }, - { - "begin": 3220, - "end": 3230, - "name": "DUP1", - "source": 7 - }, - { - "begin": 3220, - "end": 3230, - "name": "DUP3", - "source": 7 - }, - { - "begin": 3220, - "end": 3230, - "name": "GT", - "source": 7 - }, - { - "begin": 3217, - "end": 3350, - "name": "ISZERO", - "source": 7 - }, - { - "begin": 3217, - "end": 3350, - "name": "PUSH [tag]", - "source": 7, - "value": "93" - }, - { - "begin": 3217, - "end": 3350, - "name": "JUMPI", - "source": 7 - }, - { - "begin": 3272, - "end": 3282, - "name": "PUSH", - "source": 7, - "value": "4E487B71" - }, - { - "begin": 3267, - "end": 3270, - "name": "PUSH", - "source": 7, - "value": "E0" - }, - { - "begin": 3263, - "end": 3283, - "name": "SHL", - "source": 7 - }, - { - "begin": 3260, - "end": 3261, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3253, - "end": 3284, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3307, - "end": 3311, - "name": "PUSH", - "source": 7, - "value": "11" - }, - { - "begin": 3304, - "end": 3305, - "name": "PUSH", - "source": 7, - "value": "4" - }, - { - "begin": 3297, - "end": 3312, - "name": "MSTORE", - "source": 7 - }, - { - "begin": 3335, - "end": 3339, - "name": "PUSH", - "source": 7, - "value": "24" - }, - { - "begin": 3332, - "end": 3333, - "name": "PUSH", - "source": 7, - "value": "0" - }, - { - "begin": 3325, - "end": 3340, - "name": "REVERT", - "source": 7 - } - ] - } - }, - "sourceList": [ - "@openzeppelin/contracts/access/Ownable.sol", - "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "@openzeppelin/contracts/utils/Context.sol", - "ChainGPT.sol", - "#utility.yul" - ] - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"ChainGPT.sol\":\"ChainGPT\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"ChainGPT.sol\":{\"keccak256\":\"0xc51edc07a5d532bab11fd26823bd70b9d41d5d40595d15e6f60f06d4ce1d22b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea3653c8fc762933c2aac0f3e8c507c9954d301df2762c4c7f75bfd0143d6e11\",\"dweb:/ipfs/QmT5L7Y6Cs4G3tBU5Mq6KzFFHe7gjoa3d5KKNyk2HDEfHN\"]}},\"version\":1}", - "storageLayout": { - "storage": [ - { - "astId": 128, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_balances", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 134, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_allowances", - "offset": 0, - "slot": "1", - "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" - }, - { - "astId": 136, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_totalSupply", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 138, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_name", - "offset": 0, - "slot": "3", - "type": "t_string_storage" - }, - { - "astId": 140, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_symbol", - "offset": 0, - "slot": "4", - "type": "t_string_storage" - }, - { - "astId": 7, - "contract": "ChainGPT.sol:ChainGPT", - "label": "_owner", - "offset": 0, - "slot": "5", - "type": "t_address" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_mapping(t_address,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_uint256)" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - } - } - }, - "sources": { - "@openzeppelin/contracts/access/Ownable.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "exportedSymbols": { - "Context": [ - 868 - ], - "Ownable": [ - 112 - ] - }, - "id": 113, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "102:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../utils/Context.sol", - "id": 2, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 113, - "sourceUnit": 869, - "src": "127:30:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4, - "name": "Context", - "nameLocations": [ - "683:7:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 868, - "src": "683:7:0" - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "683:7:0" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3, - "nodeType": "StructuredDocumentation", - "src": "159:494:0", - "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." - }, - "fullyImplemented": true, - "id": 112, - "linearizedBaseContracts": [ - 112, - 868 - ], - "name": "Ownable", - "nameLocation": "672:7:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 7, - "mutability": "mutable", - "name": "_owner", - "nameLocation": "713:6:0", - "nodeType": "VariableDeclaration", - "scope": 112, - "src": "697:22:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "697:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "private" - }, - { - "anonymous": false, - "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "id": 13, - "name": "OwnershipTransferred", - "nameLocation": "732:20:0", - "nodeType": "EventDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "769:13:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "753:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 11, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "800:8:0", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "784:24:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "784:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "752:57:0" - }, - "src": "726:84:0" - }, - { - "body": { - "id": 22, - "nodeType": "Block", - "src": "926:49:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 18, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "955:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 19, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "955:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 17, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "936:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "936:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 21, - "nodeType": "ExpressionStatement", - "src": "936:32:0" - } - ] - }, - "documentation": { - "id": 14, - "nodeType": "StructuredDocumentation", - "src": "816:91:0", - "text": " @dev Initializes the contract setting the deployer as the initial owner." - }, - "id": 23, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 15, - "nodeType": "ParameterList", - "parameters": [], - "src": "923:2:0" - }, - "returnParameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:0" - }, - "scope": 112, - "src": "912:63:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 30, - "nodeType": "Block", - "src": "1084:41:0", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 26, - "name": "_checkOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 54, - "src": "1094:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1094:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "1094:13:0" - }, - { - "id": 29, - "nodeType": "PlaceholderStatement", - "src": "1117:1:0" - } - ] - }, - "documentation": { - "id": 24, - "nodeType": "StructuredDocumentation", - "src": "981:77:0", - "text": " @dev Throws if called by any account other than the owner." - }, - "id": 31, - "name": "onlyOwner", - "nameLocation": "1072:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [], - "src": "1081:2:0" - }, - "src": "1063:62:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 39, - "nodeType": "Block", - "src": "1256:30:0", - "statements": [ - { - "expression": { - "id": 37, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "1273:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 36, - "id": 38, - "nodeType": "Return", - "src": "1266:13:0" - } - ] - }, - "documentation": { - "id": 32, - "nodeType": "StructuredDocumentation", - "src": "1131:65:0", - "text": " @dev Returns the address of the current owner." - }, - "functionSelector": "8da5cb5b", - "id": 40, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "1210:5:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 33, - "nodeType": "ParameterList", - "parameters": [], - "src": "1215:2:0" - }, - "returnParameters": { - "id": 36, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 40, - "src": "1247:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 34, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1247:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1246:9:0" - }, - "scope": 112, - "src": "1201:85:0", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 53, - "nodeType": "Block", - "src": "1404:85:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 49, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 45, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 40, - "src": "1422:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1422:7:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 47, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "1433:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 48, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1433:12:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1422:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1447:34:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "id": 44, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "1414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 51, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1414:68:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 52, - "nodeType": "ExpressionStatement", - "src": "1414:68:0" - } - ] - }, - "documentation": { - "id": 41, - "nodeType": "StructuredDocumentation", - "src": "1292:62:0", - "text": " @dev Throws if the sender is not the owner." - }, - "id": 54, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOwner", - "nameLocation": "1368:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [], - "src": "1379:2:0" - }, - "returnParameters": { - "id": 43, - "nodeType": "ParameterList", - "parameters": [], - "src": "1404:0:0" - }, - "scope": 112, - "src": "1359:130:0", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 67, - "nodeType": "Block", - "src": "1885:47:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1922:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1914:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 61, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1914:7:0", - "typeDescriptions": {} - } - }, - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1914:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 60, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "1895:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 65, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1895:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 66, - "nodeType": "ExpressionStatement", - "src": "1895:30:0" - } - ] - }, - "documentation": { - "id": 55, - "nodeType": "StructuredDocumentation", - "src": "1495:331:0", - "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." - }, - "functionSelector": "715018a6", - "id": 68, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 58, - "kind": "modifierInvocation", - "modifierName": { - "id": 57, - "name": "onlyOwner", - "nameLocations": [ - "1875:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "1875:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "1875:9:0" - } - ], - "name": "renounceOwnership", - "nameLocation": "1840:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 56, - "nodeType": "ParameterList", - "parameters": [], - "src": "1857:2:0" - }, - "returnParameters": { - "id": 59, - "nodeType": "ParameterList", - "parameters": [], - "src": "1885:0:0" - }, - "scope": 112, - "src": "1831:101:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 90, - "nodeType": "Block", - "src": "2151:128:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2169:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2189:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 78, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2181:7:0", - "typeDescriptions": {} - } - }, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2181:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2169:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2193:40:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - }, - "value": "Ownable: new owner is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", - "typeString": "literal_string \"Ownable: new owner is the zero address\"" - } - ], - "id": 76, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2161:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 84, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2161:73:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85, - "nodeType": "ExpressionStatement", - "src": "2161:73:0" - }, - { - "expression": { - "arguments": [ - { - "id": 87, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2263:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 86, - "name": "_transferOwnership", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 111, - "src": "2244:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 88, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2244:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 89, - "nodeType": "ExpressionStatement", - "src": "2244:28:0" - } - ] - }, - "documentation": { - "id": 69, - "nodeType": "StructuredDocumentation", - "src": "1938:138:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." - }, - "functionSelector": "f2fde38b", - "id": 91, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 74, - "kind": "modifierInvocation", - "modifierName": { - "id": 73, - "name": "onlyOwner", - "nameLocations": [ - "2141:9:0" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 31, - "src": "2141:9:0" - }, - "nodeType": "ModifierInvocation", - "src": "2141:9:0" - } - ], - "name": "transferOwnership", - "nameLocation": "2090:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 71, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2116:8:0", - "nodeType": "VariableDeclaration", - "scope": 91, - "src": "2108:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 70, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2108:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2107:18:0" - }, - "returnParameters": { - "id": 75, - "nodeType": "ParameterList", - "parameters": [], - "src": "2151:0:0" - }, - "scope": 112, - "src": "2081:198:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 110, - "nodeType": "Block", - "src": "2496:124:0", - "statements": [ - { - "assignments": [ - 98 - ], - "declarations": [ - { - "constant": false, - "id": 98, - "mutability": "mutable", - "name": "oldOwner", - "nameLocation": "2514:8:0", - "nodeType": "VariableDeclaration", - "scope": 110, - "src": "2506:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 97, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2506:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 100, - "initialValue": { - "id": 99, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2525:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2506:25:0" - }, - { - "expression": { - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 101, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "2541:6:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 102, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "2550:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2541:17:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 104, - "nodeType": "ExpressionStatement", - "src": "2541:17:0" - }, - { - "eventCall": { - "arguments": [ - { - "id": 106, - "name": "oldOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 98, - "src": "2594:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 94, - "src": "2604:8:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 105, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "2573:20:0", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2573:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 109, - "nodeType": "EmitStatement", - "src": "2568:45:0" - } - ] - }, - "documentation": { - "id": 92, - "nodeType": "StructuredDocumentation", - "src": "2285:143:0", - "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." - }, - "id": 111, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOwnership", - "nameLocation": "2442:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 95, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 94, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "2469:8:0", - "nodeType": "VariableDeclaration", - "scope": 111, - "src": "2461:16:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 93, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2461:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2460:18:0" - }, - "returnParameters": { - "id": 96, - "nodeType": "ParameterList", - "parameters": [], - "src": "2496:0:0" - }, - "scope": 112, - "src": "2433:187:0", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 113, - "src": "654:1968:0", - "usedErrors": [] - } - ], - "src": "102:2521:0" - }, - "id": 0 - }, - "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "Context": [ - 868 - ], - "ERC20": [ - 699 - ], - "IERC20": [ - 777 - ], - "IERC20Metadata": [ - 846 - ] - }, - "id": 700, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 114, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "105:23:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 115, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 700, - "sourceUnit": 778, - "src": "130:22:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "file": "./extensions/IERC20Metadata.sol", - "id": 116, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 700, - "sourceUnit": 847, - "src": "153:41:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 117, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 700, - "sourceUnit": 869, - "src": "195:33:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 119, - "name": "Context", - "nameLocations": [ - "1419:7:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 868, - "src": "1419:7:1" - }, - "id": 120, - "nodeType": "InheritanceSpecifier", - "src": "1419:7:1" - }, - { - "baseName": { - "id": 121, - "name": "IERC20", - "nameLocations": [ - "1428:6:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 777, - "src": "1428:6:1" - }, - "id": 122, - "nodeType": "InheritanceSpecifier", - "src": "1428:6:1" - }, - { - "baseName": { - "id": 123, - "name": "IERC20Metadata", - "nameLocations": [ - "1436:14:1" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 846, - "src": "1436:14:1" - }, - "id": 124, - "nodeType": "InheritanceSpecifier", - "src": "1436:14:1" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 118, - "nodeType": "StructuredDocumentation", - "src": "230:1170:1", - "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." - }, - "fullyImplemented": true, - "id": 699, - "linearizedBaseContracts": [ - 699, - 846, - 777, - 868 - ], - "name": "ERC20", - "nameLocation": "1410:5:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 128, - "mutability": "mutable", - "name": "_balances", - "nameLocation": "1493:9:1", - "nodeType": "VariableDeclaration", - "scope": 699, - "src": "1457:45:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 127, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1465:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1457:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1476:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 134, - "mutability": "mutable", - "name": "_allowances", - "nameLocation": "1565:11:1", - "nodeType": "VariableDeclaration", - "scope": 699, - "src": "1509:67:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 133, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1517:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1509:47:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 132, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1536:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1528:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1547:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "_totalSupply", - "nameLocation": "1599:12:1", - "nodeType": "VariableDeclaration", - "scope": 699, - "src": "1583:28:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1583:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 138, - "mutability": "mutable", - "name": "_name", - "nameLocation": "1633:5:1", - "nodeType": "VariableDeclaration", - "scope": 699, - "src": "1618:20:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 137, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1618:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 140, - "mutability": "mutable", - "name": "_symbol", - "nameLocation": "1659:7:1", - "nodeType": "VariableDeclaration", - "scope": 699, - "src": "1644:22:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 139, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1644:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "private" - }, - { - "body": { - "id": 156, - "nodeType": "Block", - "src": "2032:57:1", - "statements": [ - { - "expression": { - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 148, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "2042:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 149, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "2050:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2042:13:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 151, - "nodeType": "ExpressionStatement", - "src": "2042:13:1" - }, - { - "expression": { - "id": 154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 152, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2065:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 153, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 145, - "src": "2075:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2065:17:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 155, - "nodeType": "ExpressionStatement", - "src": "2065:17:1" - } - ] - }, - "documentation": { - "id": 141, - "nodeType": "StructuredDocumentation", - "src": "1673:298:1", - "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." - }, - "id": 157, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 146, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 143, - "mutability": "mutable", - "name": "name_", - "nameLocation": "2002:5:1", - "nodeType": "VariableDeclaration", - "scope": 157, - "src": "1988:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 142, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1988:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 145, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "2023:7:1", - "nodeType": "VariableDeclaration", - "scope": 157, - "src": "2009:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 144, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2009:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1987:44:1" - }, - "returnParameters": { - "id": 147, - "nodeType": "ParameterList", - "parameters": [], - "src": "2032:0:1" - }, - "scope": 699, - "src": "1976:113:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 833 - ], - "body": { - "id": 166, - "nodeType": "Block", - "src": "2223:29:1", - "statements": [ - { - "expression": { - "id": 164, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 138, - "src": "2240:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 163, - "id": 165, - "nodeType": "Return", - "src": "2233:12:1" - } - ] - }, - "documentation": { - "id": 158, - "nodeType": "StructuredDocumentation", - "src": "2095:54:1", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 167, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "2163:4:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 160, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2190:8:1" - }, - "parameters": { - "id": 159, - "nodeType": "ParameterList", - "parameters": [], - "src": "2167:2:1" - }, - "returnParameters": { - "id": 163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 162, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 167, - "src": "2208:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 161, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2208:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2207:15:1" - }, - "scope": 699, - "src": "2154:98:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 839 - ], - "body": { - "id": 176, - "nodeType": "Block", - "src": "2436:31:1", - "statements": [ - { - "expression": { - "id": 174, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "2453:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 173, - "id": 175, - "nodeType": "Return", - "src": "2446:14:1" - } - ] - }, - "documentation": { - "id": 168, - "nodeType": "StructuredDocumentation", - "src": "2258:102:1", - "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." - }, - "functionSelector": "95d89b41", - "id": 177, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "2374:6:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 170, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2403:8:1" - }, - "parameters": { - "id": 169, - "nodeType": "ParameterList", - "parameters": [], - "src": "2380:2:1" - }, - "returnParameters": { - "id": 173, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 172, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 177, - "src": "2421:13:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 171, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2421:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2420:15:1" - }, - "scope": 699, - "src": "2365:102:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 845 - ], - "body": { - "id": 186, - "nodeType": "Block", - "src": "3156:26:1", - "statements": [ - { - "expression": { - "hexValue": "3138", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3173:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "functionReturnParameters": 183, - "id": 185, - "nodeType": "Return", - "src": "3166:9:1" - } - ] - }, - "documentation": { - "id": 178, - "nodeType": "StructuredDocumentation", - "src": "2473:613:1", - "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." - }, - "functionSelector": "313ce567", - "id": 187, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "3100:8:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 180, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3131:8:1" - }, - "parameters": { - "id": 179, - "nodeType": "ParameterList", - "parameters": [], - "src": "3108:2:1" - }, - "returnParameters": { - "id": 183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 182, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "3149:5:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 181, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3149:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "3148:7:1" - }, - "scope": 699, - "src": "3091:91:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 726 - ], - "body": { - "id": 196, - "nodeType": "Block", - "src": "3312:36:1", - "statements": [ - { - "expression": { - "id": 194, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "3329:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 193, - "id": 195, - "nodeType": "Return", - "src": "3322:19:1" - } - ] - }, - "documentation": { - "id": 188, - "nodeType": "StructuredDocumentation", - "src": "3188:49:1", - "text": " @dev See {IERC20-totalSupply}." - }, - "functionSelector": "18160ddd", - "id": 197, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "3251:11:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 190, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3285:8:1" - }, - "parameters": { - "id": 189, - "nodeType": "ParameterList", - "parameters": [], - "src": "3262:2:1" - }, - "returnParameters": { - "id": 193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 192, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 197, - "src": "3303:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3303:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3302:9:1" - }, - "scope": 699, - "src": "3242:106:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 734 - ], - "body": { - "id": 210, - "nodeType": "Block", - "src": "3489:42:1", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 206, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "3506:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 208, - "indexExpression": { - "id": 207, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 200, - "src": "3516:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3506:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 205, - "id": 209, - "nodeType": "Return", - "src": "3499:25:1" - } - ] - }, - "documentation": { - "id": 198, - "nodeType": "StructuredDocumentation", - "src": "3354:47:1", - "text": " @dev See {IERC20-balanceOf}." - }, - "functionSelector": "70a08231", - "id": 211, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "3415:9:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 202, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3462:8:1" - }, - "parameters": { - "id": 201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 200, - "mutability": "mutable", - "name": "account", - "nameLocation": "3433:7:1", - "nodeType": "VariableDeclaration", - "scope": 211, - "src": "3425:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3425:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3424:17:1" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 204, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 211, - "src": "3480:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3480:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3479:9:1" - }, - "scope": 699, - "src": "3406:125:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 744 - ], - "body": { - "id": 235, - "nodeType": "Block", - "src": "3812:104:1", - "statements": [ - { - "assignments": [ - 223 - ], - "declarations": [ - { - "constant": false, - "id": 223, - "mutability": "mutable", - "name": "owner", - "nameLocation": "3830:5:1", - "nodeType": "VariableDeclaration", - "scope": 235, - "src": "3822:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3822:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 226, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 224, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "3838:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3838:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3822:28:1" - }, - { - "expression": { - "arguments": [ - { - "id": 228, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 223, - "src": "3870:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 229, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 214, - "src": "3877:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 230, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3881:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 227, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 459, - "src": "3860:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3860:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 232, - "nodeType": "ExpressionStatement", - "src": "3860:28:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3905:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 221, - "id": 234, - "nodeType": "Return", - "src": "3898:11:1" - } - ] - }, - "documentation": { - "id": 212, - "nodeType": "StructuredDocumentation", - "src": "3537:185:1", - "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." - }, - "functionSelector": "a9059cbb", - "id": 236, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "3736:8:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 218, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3788:8:1" - }, - "parameters": { - "id": 217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 214, - "mutability": "mutable", - "name": "to", - "nameLocation": "3753:2:1", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3745:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 216, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3765:6:1", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3757:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3757:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3744:28:1" - }, - "returnParameters": { - "id": 221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 220, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 236, - "src": "3806:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 219, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3806:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3805:6:1" - }, - "scope": 699, - "src": "3727:189:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 754 - ], - "body": { - "id": 253, - "nodeType": "Block", - "src": "4072:51:1", - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 247, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "4089:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 249, - "indexExpression": { - "id": 248, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 239, - "src": "4101:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 251, - "indexExpression": { - "id": 250, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 241, - "src": "4108:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4089:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 246, - "id": 252, - "nodeType": "Return", - "src": "4082:34:1" - } - ] - }, - "documentation": { - "id": 237, - "nodeType": "StructuredDocumentation", - "src": "3922:47:1", - "text": " @dev See {IERC20-allowance}." - }, - "functionSelector": "dd62ed3e", - "id": 254, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "3983:9:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 243, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4045:8:1" - }, - "parameters": { - "id": 242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 239, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4001:5:1", - "nodeType": "VariableDeclaration", - "scope": 254, - "src": "3993:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3993:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 241, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4016:7:1", - "nodeType": "VariableDeclaration", - "scope": 254, - "src": "4008:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4008:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3992:32:1" - }, - "returnParameters": { - "id": 246, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 245, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 254, - "src": "4063:7:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4063:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4062:9:1" - }, - "scope": 699, - "src": "3974:149:1", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 764 - ], - "body": { - "id": 278, - "nodeType": "Block", - "src": "4520:108:1", - "statements": [ - { - "assignments": [ - 266 - ], - "declarations": [ - { - "constant": false, - "id": 266, - "mutability": "mutable", - "name": "owner", - "nameLocation": "4538:5:1", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "4530:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 269, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 267, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "4546:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4546:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4530:28:1" - }, - { - "expression": { - "arguments": [ - { - "id": 271, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 266, - "src": "4577:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 272, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 257, - "src": "4584:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 273, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 259, - "src": "4593:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 270, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "4568:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4568:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 275, - "nodeType": "ExpressionStatement", - "src": "4568:32:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4617:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 264, - "id": 277, - "nodeType": "Return", - "src": "4610:11:1" - } - ] - }, - "documentation": { - "id": 255, - "nodeType": "StructuredDocumentation", - "src": "4129:297:1", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 279, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "4440:7:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 261, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4496:8:1" - }, - "parameters": { - "id": 260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 257, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4456:7:1", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "4448:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 256, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4448:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 259, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4473:6:1", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "4465:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4465:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4447:33:1" - }, - "returnParameters": { - "id": 264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 263, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 279, - "src": "4514:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 262, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4514:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4513:6:1" - }, - "scope": 699, - "src": "4431:197:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 776 - ], - "body": { - "id": 311, - "nodeType": "Block", - "src": "5323:153:1", - "statements": [ - { - "assignments": [ - 293 - ], - "declarations": [ - { - "constant": false, - "id": 293, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5341:7:1", - "nodeType": "VariableDeclaration", - "scope": 311, - "src": "5333:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5333:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 296, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 294, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "5351:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5351:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5333:30:1" - }, - { - "expression": { - "arguments": [ - { - "id": 298, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 282, - "src": "5389:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 299, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "5395:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 300, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "5404:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 297, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "5373:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5373:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 302, - "nodeType": "ExpressionStatement", - "src": "5373:38:1" - }, - { - "expression": { - "arguments": [ - { - "id": 304, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 282, - "src": "5431:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 305, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 284, - "src": "5437:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 306, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 286, - "src": "5441:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 303, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 459, - "src": "5421:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5421:27:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 308, - "nodeType": "ExpressionStatement", - "src": "5421:27:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5465:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 291, - "id": 310, - "nodeType": "Return", - "src": "5458:11:1" - } - ] - }, - "documentation": { - "id": 280, - "nodeType": "StructuredDocumentation", - "src": "4634:551:1", - "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." - }, - "functionSelector": "23b872dd", - "id": 312, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "5199:12:1", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 288, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5299:8:1" - }, - "parameters": { - "id": 287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 282, - "mutability": "mutable", - "name": "from", - "nameLocation": "5229:4:1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "5221:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5221:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 284, - "mutability": "mutable", - "name": "to", - "nameLocation": "5251:2:1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "5243:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5243:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 286, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5271:6:1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "5263:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5263:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5211:72:1" - }, - "returnParameters": { - "id": 291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 290, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 312, - "src": "5317:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 289, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5317:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5316:6:1" - }, - "scope": 699, - "src": "5190:286:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 340, - "nodeType": "Block", - "src": "5965:140:1", - "statements": [ - { - "assignments": [ - 323 - ], - "declarations": [ - { - "constant": false, - "id": 323, - "mutability": "mutable", - "name": "owner", - "nameLocation": "5983:5:1", - "nodeType": "VariableDeclaration", - "scope": 340, - "src": "5975:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5975:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 326, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 324, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "5991:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5991:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5975:28:1" - }, - { - "expression": { - "arguments": [ - { - "id": 328, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 323, - "src": "6022:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 329, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "6029:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 331, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 323, - "src": "6048:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 332, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "6055:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6038:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6038:25:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 334, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "6066:10:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6038:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 327, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "6013:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6013:64:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 337, - "nodeType": "ExpressionStatement", - "src": "6013:64:1" - }, - { - "expression": { - "hexValue": "74727565", - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6094:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 321, - "id": 339, - "nodeType": "Return", - "src": "6087:11:1" - } - ] - }, - "documentation": { - "id": 313, - "nodeType": "StructuredDocumentation", - "src": "5482:384:1", - "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "39509351", - "id": 341, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "5880:17:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 315, - "mutability": "mutable", - "name": "spender", - "nameLocation": "5906:7:1", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5898:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5898:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 317, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "5923:10:1", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5915:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5915:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5897:37:1" - }, - "returnParameters": { - "id": 321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 320, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 341, - "src": "5959:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 319, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5959:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5958:6:1" - }, - "scope": 699, - "src": "5871:234:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "6691:328:1", - "statements": [ - { - "assignments": [ - 352 - ], - "declarations": [ - { - "constant": false, - "id": 352, - "mutability": "mutable", - "name": "owner", - "nameLocation": "6709:5:1", - "nodeType": "VariableDeclaration", - "scope": 381, - "src": "6701:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6701:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 355, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 353, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "6717:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6717:12:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6701:28:1" - }, - { - "assignments": [ - 357 - ], - "declarations": [ - { - "constant": false, - "id": 357, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "6747:16:1", - "nodeType": "VariableDeclaration", - "scope": 381, - "src": "6739:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6739:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 362, - "initialValue": { - "arguments": [ - { - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 352, - "src": "6776:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 360, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "6783:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 358, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6766:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6766:25:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6739:52:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 364, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 357, - "src": "6809:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 365, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "6829:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6809:35:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6846:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "id": 363, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "6801:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6801:85:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 369, - "nodeType": "ExpressionStatement", - "src": "6801:85:1" - }, - { - "id": 378, - "nodeType": "UncheckedBlock", - "src": "6896:95:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 371, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 352, - "src": "6929:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 372, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "6936:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 373, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 357, - "src": "6945:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 374, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "6964:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6945:34:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 370, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "6920:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "6920:60:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 377, - "nodeType": "ExpressionStatement", - "src": "6920:60:1" - } - ] - }, - { - "expression": { - "hexValue": "74727565", - "id": 379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7008:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 350, - "id": 380, - "nodeType": "Return", - "src": "7001:11:1" - } - ] - }, - "documentation": { - "id": 342, - "nodeType": "StructuredDocumentation", - "src": "6111:476:1", - "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." - }, - "functionSelector": "a457c2d7", - "id": 382, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "6601:17:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 344, - "mutability": "mutable", - "name": "spender", - "nameLocation": "6627:7:1", - "nodeType": "VariableDeclaration", - "scope": 382, - "src": "6619:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 343, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6619:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "6644:15:1", - "nodeType": "VariableDeclaration", - "scope": 382, - "src": "6636:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6636:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6618:42:1" - }, - "returnParameters": { - "id": 350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 349, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 382, - "src": "6685:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 348, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6685:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6684:6:1" - }, - "scope": 699, - "src": "6592:427:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 458, - "nodeType": "Block", - "src": "7581:710:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 393, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7599:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7615:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7607:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 394, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7607:7:1", - "typeDescriptions": {} - } - }, - "id": 397, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7607:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7599:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7619:39:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7591:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7591:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "7591:68:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 403, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "7677:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7691:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7683:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7683:7:1", - "typeDescriptions": {} - } - }, - "id": 407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7683:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7677:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:37:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 402, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7669:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7669:64:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 411, - "nodeType": "ExpressionStatement", - "src": "7669:64:1" - }, - { - "expression": { - "arguments": [ - { - "id": 413, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7765:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 414, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "7771:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 415, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "7775:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 412, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "7744:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7744:38:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 417, - "nodeType": "ExpressionStatement", - "src": "7744:38:1" - }, - { - "assignments": [ - 419 - ], - "declarations": [ - { - "constant": false, - "id": 419, - "mutability": "mutable", - "name": "fromBalance", - "nameLocation": "7801:11:1", - "nodeType": "VariableDeclaration", - "scope": 458, - "src": "7793:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 423, - "initialValue": { - "baseExpression": { - "id": 420, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "7815:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 422, - "indexExpression": { - "id": 421, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7825:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7815:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7793:37:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 425, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "7848:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 426, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "7863:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7848:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 428, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7871:40:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "id": 424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "7840:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7840:72:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 430, - "nodeType": "ExpressionStatement", - "src": "7840:72:1" - }, - { - "id": 445, - "nodeType": "UncheckedBlock", - "src": "7922:273:1", - "statements": [ - { - "expression": { - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 431, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "7946:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 433, - "indexExpression": { - "id": 432, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "7956:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7946:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 434, - "name": "fromBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 419, - "src": "7964:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 435, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "7978:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7964:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7946:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 438, - "nodeType": "ExpressionStatement", - "src": "7946:38:1" - }, - { - "expression": { - "id": 443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 439, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "8161:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 441, - "indexExpression": { - "id": 440, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "8171:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8161:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 442, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "8178:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8161:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 444, - "nodeType": "ExpressionStatement", - "src": "8161:23:1" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 447, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "8219:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 448, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "8225:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 449, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "8229:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 446, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "8210:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8210:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 451, - "nodeType": "EmitStatement", - "src": "8205:31:1" - }, - { - "expression": { - "arguments": [ - { - "id": 453, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 385, - "src": "8267:4:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 454, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 387, - "src": "8273:2:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 455, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 389, - "src": "8277:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 452, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 698, - "src": "8247:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8247:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 457, - "nodeType": "ExpressionStatement", - "src": "8247:37:1" - } - ] - }, - "documentation": { - "id": 383, - "nodeType": "StructuredDocumentation", - "src": "7025:443:1", - "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." - }, - "id": 459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "7482:9:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 385, - "mutability": "mutable", - "name": "from", - "nameLocation": "7509:4:1", - "nodeType": "VariableDeclaration", - "scope": 459, - "src": "7501:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 384, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7501:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 387, - "mutability": "mutable", - "name": "to", - "nameLocation": "7531:2:1", - "nodeType": "VariableDeclaration", - "scope": 459, - "src": "7523:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 386, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7523:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 389, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7551:6:1", - "nodeType": "VariableDeclaration", - "scope": 459, - "src": "7543:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7543:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7491:72:1" - }, - "returnParameters": { - "id": 391, - "nodeType": "ParameterList", - "parameters": [], - "src": "7581:0:1" - }, - "scope": 699, - "src": "7473:818:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 515, - "nodeType": "Block", - "src": "8632:470:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 468, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 462, - "src": "8650:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8669:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8661:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8661:7:1", - "typeDescriptions": {} - } - }, - "id": 472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8661:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8650:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8673:33:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "8642:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8642:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 476, - "nodeType": "ExpressionStatement", - "src": "8642:65:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8747:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8739:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 478, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8739:7:1", - "typeDescriptions": {} - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8739:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 482, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 462, - "src": "8751:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 483, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "8760:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 477, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "8718:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8718:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 485, - "nodeType": "ExpressionStatement", - "src": "8718:49:1" - }, - { - "expression": { - "id": 488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 486, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "8778:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "8794:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8778:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 489, - "nodeType": "ExpressionStatement", - "src": "8778:22:1" - }, - { - "id": 496, - "nodeType": "UncheckedBlock", - "src": "8810:175:1", - "statements": [ - { - "expression": { - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 490, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "8946:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 492, - "indexExpression": { - "id": 491, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 462, - "src": "8956:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8946:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 493, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "8968:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8946:28:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 495, - "nodeType": "ExpressionStatement", - "src": "8946:28:1" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9016:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9008:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9008:7:1", - "typeDescriptions": {} - } - }, - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9008:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 502, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 462, - "src": "9020:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 503, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "9029:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 497, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "8999:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8999:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 505, - "nodeType": "EmitStatement", - "src": "8994:42:1" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9075:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9067:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9067:7:1", - "typeDescriptions": {} - } - }, - "id": 510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9067:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 511, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 462, - "src": "9079:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 512, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "9088:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 506, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 698, - "src": "9047:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9047:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 514, - "nodeType": "ExpressionStatement", - "src": "9047:48:1" - } - ] - }, - "documentation": { - "id": 460, - "nodeType": "StructuredDocumentation", - "src": "8297:265:1", - "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." - }, - "id": 516, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "8576:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 465, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 462, - "mutability": "mutable", - "name": "account", - "nameLocation": "8590:7:1", - "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8582:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8582:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 464, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8607:6:1", - "nodeType": "VariableDeclaration", - "scope": 516, - "src": "8599:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8599:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8581:33:1" - }, - "returnParameters": { - "id": 466, - "nodeType": "ParameterList", - "parameters": [], - "src": "8632:0:1" - }, - "scope": 699, - "src": "8567:535:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 587, - "nodeType": "Block", - "src": "9487:594:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 525, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "9505:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 528, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9524:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9516:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9516:7:1", - "typeDescriptions": {} - } - }, - "id": 529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9516:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9505:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9528:35:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 524, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9497:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9497:67:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 533, - "nodeType": "ExpressionStatement", - "src": "9497:67:1" - }, - { - "expression": { - "arguments": [ - { - "id": 535, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "9596:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9613:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9605:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9605:7:1", - "typeDescriptions": {} - } - }, - "id": 539, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9605:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 540, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "9617:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 534, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "9575:20:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9575:49:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 542, - "nodeType": "ExpressionStatement", - "src": "9575:49:1" - }, - { - "assignments": [ - 544 - ], - "declarations": [ - { - "constant": false, - "id": 544, - "mutability": "mutable", - "name": "accountBalance", - "nameLocation": "9643:14:1", - "nodeType": "VariableDeclaration", - "scope": 587, - "src": "9635:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9635:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 548, - "initialValue": { - "baseExpression": { - "id": 545, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "9660:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 547, - "indexExpression": { - "id": 546, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "9670:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9660:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9635:43:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 550, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 544, - "src": "9696:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 551, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "9714:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9696:24:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9722:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "id": 549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "9688:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9688:71:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 555, - "nodeType": "ExpressionStatement", - "src": "9688:71:1" - }, - { - "id": 568, - "nodeType": "UncheckedBlock", - "src": "9769:194:1", - "statements": [ - { - "expression": { - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 556, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 128, - "src": "9793:9:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 558, - "indexExpression": { - "id": 557, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "9803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9793:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 559, - "name": "accountBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 544, - "src": "9814:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 560, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "9831:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9814:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9793:44:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 563, - "nodeType": "ExpressionStatement", - "src": "9793:44:1" - }, - { - "expression": { - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 564, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "9930:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 565, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "9946:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9930:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 567, - "nodeType": "ExpressionStatement", - "src": "9930:22:1" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 570, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "9987:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10004:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9996:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9996:7:1", - "typeDescriptions": {} - } - }, - "id": 574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9996:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 575, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "10008:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 569, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 711, - "src": "9978:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9978:37:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 577, - "nodeType": "EmitStatement", - "src": "9973:42:1" - }, - { - "expression": { - "arguments": [ - { - "id": 579, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 519, - "src": "10046:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10063:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10055:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10055:7:1", - "typeDescriptions": {} - } - }, - "id": 583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10055:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 584, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 521, - "src": "10067:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 578, - "name": "_afterTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 698, - "src": "10026:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10026:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "10026:48:1" - } - ] - }, - "documentation": { - "id": 517, - "nodeType": "StructuredDocumentation", - "src": "9108:309:1", - "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." - }, - "id": 588, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "9431:5:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 519, - "mutability": "mutable", - "name": "account", - "nameLocation": "9445:7:1", - "nodeType": "VariableDeclaration", - "scope": 588, - "src": "9437:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 518, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9437:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 521, - "mutability": "mutable", - "name": "amount", - "nameLocation": "9462:6:1", - "nodeType": "VariableDeclaration", - "scope": 588, - "src": "9454:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9454:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "9436:33:1" - }, - "returnParameters": { - "id": 523, - "nodeType": "ParameterList", - "parameters": [], - "src": "9487:0:1" - }, - "scope": 699, - "src": "9422:659:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 632, - "nodeType": "Block", - "src": "10617:257:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 599, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "10635:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10644:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10644:7:1", - "typeDescriptions": {} - } - }, - "id": 603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10644:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10635:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10656:38:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10627:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10627:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "10627:68:1" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 609, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "10713:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10732:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10724:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10724:7:1", - "typeDescriptions": {} - } - }, - "id": 613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10724:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10713:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10736:36:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 608, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "10705:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10705:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 617, - "nodeType": "ExpressionStatement", - "src": "10705:68:1" - }, - { - "expression": { - "id": 624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 618, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 134, - "src": "10784:11:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 621, - "indexExpression": { - "id": 619, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "10796:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10784:18:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 622, - "indexExpression": { - "id": 620, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "10803:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10784:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 623, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "10814:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10784:36:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 625, - "nodeType": "ExpressionStatement", - "src": "10784:36:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 627, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 591, - "src": "10844:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 628, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 593, - "src": "10851:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 629, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 595, - "src": "10860:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 626, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 720, - "src": "10835:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10835:32:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 631, - "nodeType": "EmitStatement", - "src": "10830:37:1" - } - ] - }, - "documentation": { - "id": 589, - "nodeType": "StructuredDocumentation", - "src": "10087:412:1", - "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." - }, - "id": 633, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "10513:8:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 596, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 591, - "mutability": "mutable", - "name": "owner", - "nameLocation": "10539:5:1", - "nodeType": "VariableDeclaration", - "scope": 633, - "src": "10531:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 590, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10531:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 593, - "mutability": "mutable", - "name": "spender", - "nameLocation": "10562:7:1", - "nodeType": "VariableDeclaration", - "scope": 633, - "src": "10554:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10554:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 595, - "mutability": "mutable", - "name": "amount", - "nameLocation": "10587:6:1", - "nodeType": "VariableDeclaration", - "scope": 633, - "src": "10579:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10579:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "10521:78:1" - }, - "returnParameters": { - "id": 597, - "nodeType": "ParameterList", - "parameters": [], - "src": "10617:0:1" - }, - "scope": 699, - "src": "10504:370:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 675, - "nodeType": "Block", - "src": "11275:321:1", - "statements": [ - { - "assignments": [ - 644 - ], - "declarations": [ - { - "constant": false, - "id": 644, - "mutability": "mutable", - "name": "currentAllowance", - "nameLocation": "11293:16:1", - "nodeType": "VariableDeclaration", - "scope": 675, - "src": "11285:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11285:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "arguments": [ - { - "id": 646, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "11322:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 647, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 638, - "src": "11329:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 645, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "11312:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view returns (uint256)" - } - }, - "id": 648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11312:25:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11285:52:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 650, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 644, - "src": "11351:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11376:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11376:7:1", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 651, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967269, - "src": "11371:4:1", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 654, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11371:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11385:3:1", - "memberName": "max", - "nodeType": "MemberAccess", - "src": "11371:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11351:37:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 674, - "nodeType": "IfStatement", - "src": "11347:243:1", - "trueBody": { - "id": 673, - "nodeType": "Block", - "src": "11390:200:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 658, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 644, - "src": "11412:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "11432:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11412:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11440:31:1", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - }, - "value": "ERC20: insufficient allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", - "typeString": "literal_string \"ERC20: insufficient allowance\"" - } - ], - "id": 657, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "11404:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11404:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 663, - "nodeType": "ExpressionStatement", - "src": "11404:68:1" - }, - { - "id": 672, - "nodeType": "UncheckedBlock", - "src": "11486:94:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 665, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 636, - "src": "11523:5:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 666, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 638, - "src": "11530:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 667, - "name": "currentAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 644, - "src": "11539:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 668, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 640, - "src": "11558:6:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11539:25:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 664, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 633, - "src": "11514:8:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11514:51:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "11514:51:1" - } - ] - } - ] - } - } - ] - }, - "documentation": { - "id": 634, - "nodeType": "StructuredDocumentation", - "src": "10880:270:1", - "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." - }, - "id": 676, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_spendAllowance", - "nameLocation": "11164:15:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 636, - "mutability": "mutable", - "name": "owner", - "nameLocation": "11197:5:1", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "11189:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 635, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11189:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 638, - "mutability": "mutable", - "name": "spender", - "nameLocation": "11220:7:1", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "11212:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11212:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 640, - "mutability": "mutable", - "name": "amount", - "nameLocation": "11245:6:1", - "nodeType": "VariableDeclaration", - "scope": 676, - "src": "11237:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11237:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "11179:78:1" - }, - "returnParameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [], - "src": "11275:0:1" - }, - "scope": 699, - "src": "11155:441:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 686, - "nodeType": "Block", - "src": "12299:2:1", - "statements": [] - }, - "documentation": { - "id": 677, - "nodeType": "StructuredDocumentation", - "src": "11602:573:1", - "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 687, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "12189:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 679, - "mutability": "mutable", - "name": "from", - "nameLocation": "12227:4:1", - "nodeType": "VariableDeclaration", - "scope": 687, - "src": "12219:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12219:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 681, - "mutability": "mutable", - "name": "to", - "nameLocation": "12249:2:1", - "nodeType": "VariableDeclaration", - "scope": 687, - "src": "12241:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 680, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12241:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 683, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12269:6:1", - "nodeType": "VariableDeclaration", - "scope": 687, - "src": "12261:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12261:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12209:72:1" - }, - "returnParameters": { - "id": 685, - "nodeType": "ParameterList", - "parameters": [], - "src": "12299:0:1" - }, - "scope": 699, - "src": "12180:121:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 697, - "nodeType": "Block", - "src": "13007:2:1", - "statements": [] - }, - "documentation": { - "id": 688, - "nodeType": "StructuredDocumentation", - "src": "12307:577:1", - "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." - }, - "id": 698, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterTokenTransfer", - "nameLocation": "12898:19:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 690, - "mutability": "mutable", - "name": "from", - "nameLocation": "12935:4:1", - "nodeType": "VariableDeclaration", - "scope": 698, - "src": "12927:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12927:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 692, - "mutability": "mutable", - "name": "to", - "nameLocation": "12957:2:1", - "nodeType": "VariableDeclaration", - "scope": 698, - "src": "12949:10:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12949:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 694, - "mutability": "mutable", - "name": "amount", - "nameLocation": "12977:6:1", - "nodeType": "VariableDeclaration", - "scope": 698, - "src": "12969:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12969:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "12917:72:1" - }, - "returnParameters": { - "id": 696, - "nodeType": "ParameterList", - "parameters": [], - "src": "13007:0:1" - }, - "scope": 699, - "src": "12889:120:1", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 700, - "src": "1401:11610:1", - "usedErrors": [] - } - ], - "src": "105:12907:1" - }, - "id": 1 - }, - "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 777 - ] - }, - "id": 778, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 701, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "106:23:2" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 702, - "nodeType": "StructuredDocumentation", - "src": "131:70:2", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 777, - "linearizedBaseContracts": [ - 777 - ], - "name": "IERC20", - "nameLocation": "212:6:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": { - "id": 703, - "nodeType": "StructuredDocumentation", - "src": "225:158:2", - "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." - }, - "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 711, - "name": "Transfer", - "nameLocation": "394:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 705, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "419:4:2", - "nodeType": "VariableDeclaration", - "scope": 711, - "src": "403:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "403:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 707, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "441:2:2", - "nodeType": "VariableDeclaration", - "scope": 711, - "src": "425:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "425:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 709, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "453:5:2", - "nodeType": "VariableDeclaration", - "scope": 711, - "src": "445:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "445:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "402:57:2" - }, - "src": "388:72:2" - }, - { - "anonymous": false, - "documentation": { - "id": 712, - "nodeType": "StructuredDocumentation", - "src": "466:148:2", - "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." - }, - "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "id": 720, - "name": "Approval", - "nameLocation": "625:8:2", - "nodeType": "EventDefinition", - "parameters": { - "id": 719, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 714, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "650:5:2", - "nodeType": "VariableDeclaration", - "scope": 720, - "src": "634:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "634:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 716, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nameLocation": "673:7:2", - "nodeType": "VariableDeclaration", - "scope": 720, - "src": "657:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 715, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "657:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 718, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "690:5:2", - "nodeType": "VariableDeclaration", - "scope": 720, - "src": "682:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "682:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "633:63:2" - }, - "src": "619:78:2" - }, - { - "documentation": { - "id": 721, - "nodeType": "StructuredDocumentation", - "src": "703:66:2", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 726, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "783:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 722, - "nodeType": "ParameterList", - "parameters": [], - "src": "794:2:2" - }, - "returnParameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 724, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 726, - "src": "820:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "820:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "819:9:2" - }, - "scope": 777, - "src": "774:55:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 727, - "nodeType": "StructuredDocumentation", - "src": "835:72:2", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 734, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "921:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "mutability": "mutable", - "name": "account", - "nameLocation": "939:7:2", - "nodeType": "VariableDeclaration", - "scope": 734, - "src": "931:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "931:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "930:17:2" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 732, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 734, - "src": "971:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "971:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "970:9:2" - }, - "scope": 777, - "src": "912:68:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 735, - "nodeType": "StructuredDocumentation", - "src": "986:202:2", - "text": " @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "a9059cbb", - "id": 744, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "1202:8:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 737, - "mutability": "mutable", - "name": "to", - "nameLocation": "1219:2:2", - "nodeType": "VariableDeclaration", - "scope": 744, - "src": "1211:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1211:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 739, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1231:6:2", - "nodeType": "VariableDeclaration", - "scope": 744, - "src": "1223:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1223:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1210:28:2" - }, - "returnParameters": { - "id": 743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 742, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 744, - "src": "1257:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1257:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1256:6:2" - }, - "scope": 777, - "src": "1193:70:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 745, - "nodeType": "StructuredDocumentation", - "src": "1269:264:2", - "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." - }, - "functionSelector": "dd62ed3e", - "id": 754, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "1547:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 750, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 747, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1565:5:2", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "1557:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 746, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1557:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 749, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1580:7:2", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "1572:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1572:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1556:32:2" - }, - "returnParameters": { - "id": 753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 752, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 754, - "src": "1612:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1612:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1611:9:2" - }, - "scope": 777, - "src": "1538:83:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 755, - "nodeType": "StructuredDocumentation", - "src": "1627:642:2", - "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." - }, - "functionSelector": "095ea7b3", - "id": 764, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "2283:7:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 760, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 757, - "mutability": "mutable", - "name": "spender", - "nameLocation": "2299:7:2", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "2291:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 756, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2291:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 759, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2316:6:2", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "2308:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2308:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2290:33:2" - }, - "returnParameters": { - "id": 763, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 762, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "2342:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 761, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2342:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2341:6:2" - }, - "scope": 777, - "src": "2274:74:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 765, - "nodeType": "StructuredDocumentation", - "src": "2354:287:2", - "text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." - }, - "functionSelector": "23b872dd", - "id": 776, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "2655:12:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 767, - "mutability": "mutable", - "name": "from", - "nameLocation": "2685:4:2", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "2677:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 769, - "mutability": "mutable", - "name": "to", - "nameLocation": "2707:2:2", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "2699:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 768, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2699:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 771, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2727:6:2", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "2719:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2719:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2667:72:2" - }, - "returnParameters": { - "id": 775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 774, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 776, - "src": "2758:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 773, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2758:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2757:6:2" - }, - "scope": 777, - "src": "2646:118:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 778, - "src": "202:2564:2", - "usedErrors": [] - } - ], - "src": "106:2661:2" - }, - "id": 2 - }, - "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "exportedSymbols": { - "Context": [ - 868 - ], - "ERC20": [ - 699 - ], - "ERC20Burnable": [ - 821 - ], - "IERC20": [ - 777 - ], - "IERC20Metadata": [ - 846 - ] - }, - "id": 822, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 779, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "124:23:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "../ERC20.sol", - "id": 780, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 822, - "sourceUnit": 700, - "src": "149:22:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../../utils/Context.sol", - "id": 781, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 822, - "sourceUnit": 869, - "src": "172:36:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 783, - "name": "Context", - "nameLocations": [ - "454:7:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 868, - "src": "454:7:3" - }, - "id": 784, - "nodeType": "InheritanceSpecifier", - "src": "454:7:3" - }, - { - "baseName": { - "id": 785, - "name": "ERC20", - "nameLocations": [ - "463:5:3" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 699, - "src": "463:5:3" - }, - "id": 786, - "nodeType": "InheritanceSpecifier", - "src": "463:5:3" - } - ], - "canonicalName": "ERC20Burnable", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 782, - "nodeType": "StructuredDocumentation", - "src": "210:208:3", - "text": " @dev Extension of {ERC20} that allows token holders to destroy both their own\n tokens and those that they have an allowance for, in a way that can be\n recognized off-chain (via event analysis)." - }, - "fullyImplemented": false, - "id": 821, - "linearizedBaseContracts": [ - 821, - 699, - 846, - 777, - 868 - ], - "name": "ERC20Burnable", - "nameLocation": "437:13:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 798, - "nodeType": "Block", - "src": "623:44:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 793, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "639:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "639:12:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 795, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "653:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 792, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "633:5:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "633:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 797, - "nodeType": "ExpressionStatement", - "src": "633:27:3" - } - ] - }, - "documentation": { - "id": 787, - "nodeType": "StructuredDocumentation", - "src": "475:98:3", - "text": " @dev Destroys `amount` tokens from the caller.\n See {ERC20-_burn}." - }, - "functionSelector": "42966c68", - "id": 799, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nameLocation": "587:4:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 789, - "mutability": "mutable", - "name": "amount", - "nameLocation": "600:6:3", - "nodeType": "VariableDeclaration", - "scope": 799, - "src": "592:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "592:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "591:16:3" - }, - "returnParameters": { - "id": 791, - "nodeType": "ParameterList", - "parameters": [], - "src": "623:0:3" - }, - "scope": 821, - "src": "578:89:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 819, - "nodeType": "Block", - "src": "1039:95:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 808, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 802, - "src": "1065:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 809, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 858, - "src": "1074:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1074:12:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 811, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 804, - "src": "1088:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 807, - "name": "_spendAllowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 676, - "src": "1049:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1049:46:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 813, - "nodeType": "ExpressionStatement", - "src": "1049:46:3" - }, - { - "expression": { - "arguments": [ - { - "id": 815, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 802, - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 816, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 804, - "src": "1120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 814, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 588, - "src": "1105:5:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1105:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 818, - "nodeType": "ExpressionStatement", - "src": "1105:22:3" - } - ] - }, - "documentation": { - "id": 800, - "nodeType": "StructuredDocumentation", - "src": "673:295:3", - "text": " @dev Destroys `amount` tokens from `account`, deducting from the caller's\n allowance.\n See {ERC20-_burn} and {ERC20-allowance}.\n Requirements:\n - the caller must have allowance for ``accounts``'s tokens of at least\n `amount`." - }, - "functionSelector": "79cc6790", - "id": 820, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burnFrom", - "nameLocation": "982:8:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 802, - "mutability": "mutable", - "name": "account", - "nameLocation": "999:7:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "991:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "991:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 804, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1016:6:3", - "nodeType": "VariableDeclaration", - "scope": 820, - "src": "1008:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1008:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "990:33:3" - }, - "returnParameters": { - "id": 806, - "nodeType": "ParameterList", - "parameters": [], - "src": "1039:0:3" - }, - "scope": 821, - "src": "973:161:3", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 822, - "src": "419:717:3", - "usedErrors": [] - } - ], - "src": "124:1013:3" - }, - "id": 3 - }, - "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", - "exportedSymbols": { - "IERC20": [ - 777 - ], - "IERC20Metadata": [ - 846 - ] - }, - "id": 847, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 823, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "110:23:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "../IERC20.sol", - "id": 824, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 847, - "sourceUnit": 778, - "src": "135:23:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 826, - "name": "IERC20", - "nameLocations": [ - "305:6:4" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 777, - "src": "305:6:4" - }, - "id": 827, - "nodeType": "InheritanceSpecifier", - "src": "305:6:4" - } - ], - "canonicalName": "IERC20Metadata", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 825, - "nodeType": "StructuredDocumentation", - "src": "160:116:4", - "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._" - }, - "fullyImplemented": false, - "id": 846, - "linearizedBaseContracts": [ - 846, - 777 - ], - "name": "IERC20Metadata", - "nameLocation": "287:14:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "documentation": { - "id": 828, - "nodeType": "StructuredDocumentation", - "src": "318:54:4", - "text": " @dev Returns the name of the token." - }, - "functionSelector": "06fdde03", - "id": 833, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nameLocation": "386:4:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 829, - "nodeType": "ParameterList", - "parameters": [], - "src": "390:2:4" - }, - "returnParameters": { - "id": 832, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 831, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 833, - "src": "416:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 830, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "416:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "415:15:4" - }, - "scope": 846, - "src": "377:54:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 834, - "nodeType": "StructuredDocumentation", - "src": "437:56:4", - "text": " @dev Returns the symbol of the token." - }, - "functionSelector": "95d89b41", - "id": 839, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nameLocation": "507:6:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "513:2:4" - }, - "returnParameters": { - "id": 838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 837, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "539:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 836, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "539:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "538:15:4" - }, - "scope": 846, - "src": "498:56:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 840, - "nodeType": "StructuredDocumentation", - "src": "560:65:4", - "text": " @dev Returns the decimals places of the token." - }, - "functionSelector": "313ce567", - "id": 845, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nameLocation": "639:8:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 841, - "nodeType": "ParameterList", - "parameters": [], - "src": "647:2:4" - }, - "returnParameters": { - "id": 844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 843, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 845, - "src": "673:5:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 842, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "673:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "672:7:4" - }, - "scope": 846, - "src": "630:50:4", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 847, - "src": "277:405:4", - "usedErrors": [] - } - ], - "src": "110:573:4" - }, - "id": 4 - }, - "@openzeppelin/contracts/utils/Context.sol": { - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 868 - ] - }, - "id": 869, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 848, - "literals": [ - "solidity", - "^", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "86:23:5" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "Context", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 849, - "nodeType": "StructuredDocumentation", - "src": "111:496:5", - "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." - }, - "fullyImplemented": true, - "id": 868, - "linearizedBaseContracts": [ - 868 - ], - "name": "Context", - "nameLocation": "626:7:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 857, - "nodeType": "Block", - "src": "702:34:5", - "statements": [ - { - "expression": { - "expression": { - "id": 854, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "719:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "723:6:5", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "719:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 853, - "id": 856, - "nodeType": "Return", - "src": "712:17:5" - } - ] - }, - "id": 858, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nameLocation": "649:10:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 850, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:2:5" - }, - "returnParameters": { - "id": 853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 852, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 858, - "src": "693:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "693:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "692:9:5" - }, - "scope": 868, - "src": "640:96:5", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 866, - "nodeType": "Block", - "src": "809:32:5", - "statements": [ - { - "expression": { - "expression": { - "id": 863, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "826:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "830:4:5", - "memberName": "data", - "nodeType": "MemberAccess", - "src": "826:8:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 862, - "id": 865, - "nodeType": "Return", - "src": "819:15:5" - } - ] - }, - "id": 867, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nameLocation": "751:8:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 859, - "nodeType": "ParameterList", - "parameters": [], - "src": "759:2:5" - }, - "returnParameters": { - "id": 862, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 861, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 867, - "src": "793:14:5", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 860, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "793:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "792:16:5" - }, - "scope": 868, - "src": "742:99:5", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 869, - "src": "608:235:5", - "usedErrors": [] - } - ], - "src": "86:758:5" - }, - "id": 5 - }, - "ChainGPT.sol": { - "ast": { - "absolutePath": "ChainGPT.sol", - "exportedSymbols": { - "ChainGPT": [ - 899 - ], - "Context": [ - 868 - ], - "ERC20": [ - 699 - ], - "ERC20Burnable": [ - 821 - ], - "IERC20": [ - 777 - ], - "IERC20Metadata": [ - 846 - ], - "Ownable": [ - 112 - ] - }, - "id": 900, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 870, - "literals": [ - "solidity", - "^", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "32:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 871, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 900, - "sourceUnit": 700, - "src": "57:55:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "id": 872, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 900, - "sourceUnit": 822, - "src": "113:74:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "id": 873, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 900, - "sourceUnit": 113, - "src": "188:52:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 874, - "name": "ERC20", - "nameLocations": [ - "263:5:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 699, - "src": "263:5:6" - }, - "id": 875, - "nodeType": "InheritanceSpecifier", - "src": "263:5:6" - }, - { - "baseName": { - "id": 876, - "name": "ERC20Burnable", - "nameLocations": [ - "270:13:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 821, - "src": "270:13:6" - }, - "id": 877, - "nodeType": "InheritanceSpecifier", - "src": "270:13:6" - }, - { - "baseName": { - "id": 878, - "name": "Ownable", - "nameLocations": [ - "285:7:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 112, - "src": "285:7:6" - }, - "id": 879, - "nodeType": "InheritanceSpecifier", - "src": "285:7:6" - } - ], - "canonicalName": "ChainGPT", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 899, - "linearizedBaseContracts": [ - 899, - 112, - 821, - 699, - 846, - 777, - 868 - ], - "name": "ChainGPT", - "nameLocation": "251:8:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 897, - "nodeType": "Block", - "src": "339:65:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "355:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "359:6:6", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "355:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "31303030303030303030", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "367:10:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000_by_1", - "typeString": "int_const 1000000000" - }, - "value": "1000000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "380:2:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 891, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 187, - "src": "386:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$", - "typeString": "function () view returns (uint8)" - } - }, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "386:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "380:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "367:29:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 886, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "349:5:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "349:48:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 896, - "nodeType": "ExpressionStatement", - "src": "349:48:6" - } - ] - }, - "id": 898, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "hexValue": "436861696e475054", - "id": 882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "319:10:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_514d12ff0a95f443d30cd204e22e16bf8b717f566a13183abce1ed58dfd1452d", - "typeString": "literal_string \"ChainGPT\"" - }, - "value": "ChainGPT" - }, - { - "hexValue": "43475054", - "id": 883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "331:6:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f0700b71479a40c0dc5917561040a20a87b08f7f68bdfcd78ad772a8d0101328", - "typeString": "literal_string \"CGPT\"" - }, - "value": "CGPT" - } - ], - "id": 884, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 881, - "name": "ERC20", - "nameLocations": [ - "313:5:6" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 699, - "src": "313:5:6" - }, - "nodeType": "ModifierInvocation", - "src": "313:25:6" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 880, - "nodeType": "ParameterList", - "parameters": [], - "src": "310:2:6" - }, - "returnParameters": { - "id": 885, - "nodeType": "ParameterList", - "parameters": [], - "src": "339:0:6" - }, - "scope": 899, - "src": "299:105:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 900, - "src": "242:164:6", - "usedErrors": [] - } - ], - "src": "32:374:6" - }, - "id": 6 - } - } - } -} diff --git a/build/contracts/ChainGPT.json b/build/contracts/ChainGPT.json new file mode 100644 index 0000000..cfda5ec --- /dev/null +++ b/build/contracts/ChainGPT.json @@ -0,0 +1,14205 @@ +{ + "contractName": "ChainGPT", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/ChainGPT.sol\":\"ChainGPT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"project:/contracts/ChainGPT.sol\":{\"keccak256\":\"0xc51edc07a5d532bab11fd26823bd70b9d41d5d40595d15e6f60f06d4ce1d22b6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea3653c8fc762933c2aac0f3e8c507c9954d301df2762c4c7f75bfd0143d6e11\",\"dweb:/ipfs/QmT5L7Y6Cs4G3tBU5Mq6KzFFHe7gjoa3d5KKNyk2HDEfHN\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600881526020017f436861696e4750540000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f434750540000000000000000000000000000000000000000000000000000000081525081600390816200008f9190620005d2565b508060049081620000a19190620005d2565b505050620000c4620000b86200010a60201b60201c565b6200011260201b60201c565b6200010433620000d9620001d860201b60201c565b600a620000e7919062000849565b633b9aca00620000f891906200089a565b620001e160201b60201c565b620009d1565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200024a9062000946565b60405180910390fd5b62000267600083836200034e60201b60201c565b80600260008282546200027b919062000968565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200032e9190620009b4565b60405180910390a36200034a600083836200035360201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003da57607f821691505b602082108103620003f057620003ef62000392565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200045a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200041b565b6200046686836200041b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004b3620004ad620004a7846200047e565b62000488565b6200047e565b9050919050565b6000819050919050565b620004cf8362000492565b620004e7620004de82620004ba565b84845462000428565b825550505050565b600090565b620004fe620004ef565b6200050b818484620004c4565b505050565b5b81811015620005335762000527600082620004f4565b60018101905062000511565b5050565b601f82111562000582576200054c81620003f6565b62000557846200040b565b8101602085101562000567578190505b6200057f62000576856200040b565b83018262000510565b50505b505050565b600082821c905092915050565b6000620005a76000198460080262000587565b1980831691505092915050565b6000620005c2838362000594565b9150826002028217905092915050565b620005dd8262000358565b67ffffffffffffffff811115620005f957620005f862000363565b5b620006058254620003c1565b6200061282828562000537565b600060209050601f8311600181146200064a576000841562000635578287015190505b620006418582620005b4565b865550620006b1565b601f1984166200065a86620003f6565b60005b8281101562000684578489015182556001820191506020850194506020810190506200065d565b86831015620006a45784890151620006a0601f89168262000594565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000747578086048111156200071f576200071e620006b9565b5b60018516156200072f5780820291505b80810290506200073f85620006e8565b9450620006ff565b94509492505050565b60008262000762576001905062000835565b8162000772576000905062000835565b81600181146200078b57600281146200079657620007cc565b600191505062000835565b60ff841115620007ab57620007aa620006b9565b5b8360020a915084821115620007c557620007c4620006b9565b5b5062000835565b5060208310610133831016604e8410600b8410161715620008065782820a9050838111156200080057620007ff620006b9565b5b62000835565b620008158484846001620006f5565b925090508184048111156200082f576200082e620006b9565b5b81810290505b9392505050565b600060ff82169050919050565b600062000856826200047e565b915062000863836200083c565b9250620008927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000750565b905092915050565b6000620008a7826200047e565b9150620008b4836200047e565b9250828202620008c4816200047e565b91508282048414831517620008de57620008dd620006b9565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200092e601f83620008e5565b91506200093b82620008f6565b602082019050919050565b6000602082019050818103600083015262000961816200091f565b9050919050565b600062000975826200047e565b915062000982836200047e565b92508282019050808211156200099d576200099c620006b9565b5b92915050565b620009ae816200047e565b82525050565b6000602082019050620009cb6000830184620009a3565b92915050565b61198180620009e16000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d71461029d578063a9059cbb146102cd578063dd62ed3e146102fd578063f2fde38b1461032d57610100565b8063715018a61461023b57806379cc6790146102455780638da5cb5b1461026157806395d89b411461027f57610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806342966c68146101ef57806370a082311461020b57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610349565b60405161011a9190610fe5565b60405180910390f35b61013d600480360381019061013891906110a0565b6103db565b60405161014a91906110fb565b60405180910390f35b61015b6103fe565b6040516101689190611125565b60405180910390f35b61018b60048036038101906101869190611140565b610408565b60405161019891906110fb565b60405180910390f35b6101a9610437565b6040516101b691906111af565b60405180910390f35b6101d960048036038101906101d491906110a0565b610440565b6040516101e691906110fb565b60405180910390f35b610209600480360381019061020491906111ca565b610477565b005b610225600480360381019061022091906111f7565b61048b565b6040516102329190611125565b60405180910390f35b6102436104d3565b005b61025f600480360381019061025a91906110a0565b6104e7565b005b610269610507565b6040516102769190611233565b60405180910390f35b610287610531565b6040516102949190610fe5565b60405180910390f35b6102b760048036038101906102b291906110a0565b6105c3565b6040516102c491906110fb565b60405180910390f35b6102e760048036038101906102e291906110a0565b61063a565b6040516102f491906110fb565b60405180910390f35b6103176004803603810190610312919061124e565b61065d565b6040516103249190611125565b60405180910390f35b610347600480360381019061034291906111f7565b6106e4565b005b606060038054610358906112bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610384906112bd565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b5050505050905090565b6000806103e6610767565b90506103f381858561076f565b600191505092915050565b6000600254905090565b600080610413610767565b9050610420858285610938565b61042b8585856109c4565b60019150509392505050565b60006012905090565b60008061044b610767565b905061046c81858561045d858961065d565b610467919061131d565b61076f565b600191505092915050565b610488610482610767565b82610c3a565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104db610e07565b6104e56000610e85565b565b6104f9826104f3610767565b83610938565b6105038282610c3a565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610540906112bd565b80601f016020809104026020016040519081016040528092919081815260200182805461056c906112bd565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b5050505050905090565b6000806105ce610767565b905060006105dc828661065d565b905083811015610621576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610618906113c3565b60405180910390fd5b61062e828686840361076f565b60019250505092915050565b600080610645610767565b90506106528185856109c4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6106ec610e07565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290611455565b60405180910390fd5b61076481610e85565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d5906114e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361084d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084490611579565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161092b9190611125565b60405180910390a3505050565b6000610944848461065d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109be57818110156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a7906115e5565b60405180910390fd5b6109bd848484840361076f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a90611677565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9990611709565b60405180910390fd5b610aad838383610f4b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a9061179b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c219190611125565b60405180910390a3610c34848484610f50565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca09061182d565b60405180910390fd5b610cb582600083610f4b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d32906118bf565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dee9190611125565b60405180910390a3610e0283600084610f50565b505050565b610e0f610767565b73ffffffffffffffffffffffffffffffffffffffff16610e2d610507565b73ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061192b565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f8f578082015181840152602081019050610f74565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fb782610f55565b610fc18185610f60565b9350610fd1818560208601610f71565b610fda81610f9b565b840191505092915050565b60006020820190508181036000830152610fff8184610fac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110378261100c565b9050919050565b6110478161102c565b811461105257600080fd5b50565b6000813590506110648161103e565b92915050565b6000819050919050565b61107d8161106a565b811461108857600080fd5b50565b60008135905061109a81611074565b92915050565b600080604083850312156110b7576110b6611007565b5b60006110c585828601611055565b92505060206110d68582860161108b565b9150509250929050565b60008115159050919050565b6110f5816110e0565b82525050565b600060208201905061111060008301846110ec565b92915050565b61111f8161106a565b82525050565b600060208201905061113a6000830184611116565b92915050565b60008060006060848603121561115957611158611007565b5b600061116786828701611055565b935050602061117886828701611055565b92505060406111898682870161108b565b9150509250925092565b600060ff82169050919050565b6111a981611193565b82525050565b60006020820190506111c460008301846111a0565b92915050565b6000602082840312156111e0576111df611007565b5b60006111ee8482850161108b565b91505092915050565b60006020828403121561120d5761120c611007565b5b600061121b84828501611055565b91505092915050565b61122d8161102c565b82525050565b60006020820190506112486000830184611224565b92915050565b6000806040838503121561126557611264611007565b5b600061127385828601611055565b925050602061128485828601611055565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d557607f821691505b6020821081036112e8576112e761128e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113288261106a565b91506113338361106a565b925082820190508082111561134b5761134a6112ee565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006113ad602583610f60565b91506113b882611351565b604082019050919050565b600060208201905081810360008301526113dc816113a0565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061143f602683610f60565b915061144a826113e3565b604082019050919050565b6000602082019050818103600083015261146e81611432565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006114d1602483610f60565b91506114dc82611475565b604082019050919050565b60006020820190508181036000830152611500816114c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611563602283610f60565b915061156e82611507565b604082019050919050565b6000602082019050818103600083015261159281611556565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006115cf601d83610f60565b91506115da82611599565b602082019050919050565b600060208201905081810360008301526115fe816115c2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611661602583610f60565b915061166c82611605565b604082019050919050565b6000602082019050818103600083015261169081611654565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006116f3602383610f60565b91506116fe82611697565b604082019050919050565b60006020820190508181036000830152611722816116e6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611785602683610f60565b915061179082611729565b604082019050919050565b600060208201905081810360008301526117b481611778565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611817602183610f60565b9150611822826117bb565b604082019050919050565b600060208201905081810360008301526118468161180a565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006118a9602283610f60565b91506118b48261184d565b604082019050919050565b600060208201905081810360008301526118d88161189c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611915602083610f60565b9150611920826118df565b602082019050919050565b6000602082019050818103600083015261194481611908565b905091905056fea26469706673582212203248412bd4d011a3226e977ac4d93456e3091072c2ba356f5772f72c9bd7ea0864736f6c63430008110033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d71461029d578063a9059cbb146102cd578063dd62ed3e146102fd578063f2fde38b1461032d57610100565b8063715018a61461023b57806379cc6790146102455780638da5cb5b1461026157806395d89b411461027f57610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806342966c68146101ef57806370a082311461020b57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610349565b60405161011a9190610fe5565b60405180910390f35b61013d600480360381019061013891906110a0565b6103db565b60405161014a91906110fb565b60405180910390f35b61015b6103fe565b6040516101689190611125565b60405180910390f35b61018b60048036038101906101869190611140565b610408565b60405161019891906110fb565b60405180910390f35b6101a9610437565b6040516101b691906111af565b60405180910390f35b6101d960048036038101906101d491906110a0565b610440565b6040516101e691906110fb565b60405180910390f35b610209600480360381019061020491906111ca565b610477565b005b610225600480360381019061022091906111f7565b61048b565b6040516102329190611125565b60405180910390f35b6102436104d3565b005b61025f600480360381019061025a91906110a0565b6104e7565b005b610269610507565b6040516102769190611233565b60405180910390f35b610287610531565b6040516102949190610fe5565b60405180910390f35b6102b760048036038101906102b291906110a0565b6105c3565b6040516102c491906110fb565b60405180910390f35b6102e760048036038101906102e291906110a0565b61063a565b6040516102f491906110fb565b60405180910390f35b6103176004803603810190610312919061124e565b61065d565b6040516103249190611125565b60405180910390f35b610347600480360381019061034291906111f7565b6106e4565b005b606060038054610358906112bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610384906112bd565b80156103d15780601f106103a6576101008083540402835291602001916103d1565b820191906000526020600020905b8154815290600101906020018083116103b457829003601f168201915b5050505050905090565b6000806103e6610767565b90506103f381858561076f565b600191505092915050565b6000600254905090565b600080610413610767565b9050610420858285610938565b61042b8585856109c4565b60019150509392505050565b60006012905090565b60008061044b610767565b905061046c81858561045d858961065d565b610467919061131d565b61076f565b600191505092915050565b610488610482610767565b82610c3a565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6104db610e07565b6104e56000610e85565b565b6104f9826104f3610767565b83610938565b6105038282610c3a565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610540906112bd565b80601f016020809104026020016040519081016040528092919081815260200182805461056c906112bd565b80156105b95780601f1061058e576101008083540402835291602001916105b9565b820191906000526020600020905b81548152906001019060200180831161059c57829003601f168201915b5050505050905090565b6000806105ce610767565b905060006105dc828661065d565b905083811015610621576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610618906113c3565b60405180910390fd5b61062e828686840361076f565b60019250505092915050565b600080610645610767565b90506106528185856109c4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6106ec610e07565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361075b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075290611455565b60405180910390fd5b61076481610e85565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d5906114e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361084d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084490611579565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161092b9190611125565b60405180910390a3505050565b6000610944848461065d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109be57818110156109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a7906115e5565b60405180910390fd5b6109bd848484840361076f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a90611677565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9990611709565b60405180910390fd5b610aad838383610f4b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a9061179b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c219190611125565b60405180910390a3610c34848484610f50565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca09061182d565b60405180910390fd5b610cb582600083610f4b565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d32906118bf565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dee9190611125565b60405180910390a3610e0283600084610f50565b505050565b610e0f610767565b73ffffffffffffffffffffffffffffffffffffffff16610e2d610507565b73ffffffffffffffffffffffffffffffffffffffff1614610e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7a9061192b565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610f8f578082015181840152602081019050610f74565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fb782610f55565b610fc18185610f60565b9350610fd1818560208601610f71565b610fda81610f9b565b840191505092915050565b60006020820190508181036000830152610fff8184610fac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110378261100c565b9050919050565b6110478161102c565b811461105257600080fd5b50565b6000813590506110648161103e565b92915050565b6000819050919050565b61107d8161106a565b811461108857600080fd5b50565b60008135905061109a81611074565b92915050565b600080604083850312156110b7576110b6611007565b5b60006110c585828601611055565b92505060206110d68582860161108b565b9150509250929050565b60008115159050919050565b6110f5816110e0565b82525050565b600060208201905061111060008301846110ec565b92915050565b61111f8161106a565b82525050565b600060208201905061113a6000830184611116565b92915050565b60008060006060848603121561115957611158611007565b5b600061116786828701611055565b935050602061117886828701611055565b92505060406111898682870161108b565b9150509250925092565b600060ff82169050919050565b6111a981611193565b82525050565b60006020820190506111c460008301846111a0565b92915050565b6000602082840312156111e0576111df611007565b5b60006111ee8482850161108b565b91505092915050565b60006020828403121561120d5761120c611007565b5b600061121b84828501611055565b91505092915050565b61122d8161102c565b82525050565b60006020820190506112486000830184611224565b92915050565b6000806040838503121561126557611264611007565b5b600061127385828601611055565b925050602061128485828601611055565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d557607f821691505b6020821081036112e8576112e761128e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113288261106a565b91506113338361106a565b925082820190508082111561134b5761134a6112ee565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006113ad602583610f60565b91506113b882611351565b604082019050919050565b600060208201905081810360008301526113dc816113a0565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061143f602683610f60565b915061144a826113e3565b604082019050919050565b6000602082019050818103600083015261146e81611432565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006114d1602483610f60565b91506114dc82611475565b604082019050919050565b60006020820190508181036000830152611500816114c4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611563602283610f60565b915061156e82611507565b604082019050919050565b6000602082019050818103600083015261159281611556565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006115cf601d83610f60565b91506115da82611599565b602082019050919050565b600060208201905081810360008301526115fe816115c2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611661602583610f60565b915061166c82611605565b604082019050919050565b6000602082019050818103600083015261169081611654565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006116f3602383610f60565b91506116fe82611697565b604082019050919050565b60006020820190508181036000830152611722816116e6565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611785602683610f60565b915061179082611729565b604082019050919050565b600060208201905081810360008301526117b481611778565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611817602183610f60565b9150611822826117bb565b604082019050919050565b600060208201905081810360008301526118468161180a565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006118a9602283610f60565b91506118b48261184d565b604082019050919050565b600060208201905081810360008301526118d88161189c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611915602083610f60565b9150611920826118df565b602082019050919050565b6000602082019050818103600083015261194481611908565b905091905056fea26469706673582212203248412bd4d011a3226e977ac4d93456e3091072c2ba356f5772f72c9bd7ea0864736f6c63430008110033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:9961:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "66:40:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "77:22:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "93:5:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "87:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "87:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "77:6:7" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "49:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "59:6:7", + "type": "" + } + ], + "src": "7:99:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "140:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "157:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "160:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "150:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "150:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "150:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "254:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "257:4:7", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "247:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "247:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "247:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "278:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "281:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "271:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "271:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "271:15:7" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "112:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "326:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "343:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "346:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "336:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "336:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "336:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:4:7", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "433:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "433:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "433:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "464:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "467:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "457:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "457:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "457:15:7" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "298:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "535:269:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "545:22:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "559:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "565:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "555:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "555:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "545:6:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "576:38:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "606:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "612:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "602:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "602:12:7" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "580:18:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "653:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "667:27:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "681:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "689:4:7", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "677:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "677:17:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "667:6:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "633:18:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "626:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "626:26:7" + }, + "nodeType": "YulIf", + "src": "623:81:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "756:42:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "770:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "770:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "770:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "720:18:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "743:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "751:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "740:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "740:14:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "717:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "717:38:7" + }, + "nodeType": "YulIf", + "src": "714:84:7" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "519:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "528:6:7", + "type": "" + } + ], + "src": "484:320:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "864:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "874:11:7", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "882:3:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "874:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "902:1:7", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "905:3:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "895:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "895:14:7" + }, + "nodeType": "YulExpressionStatement", + "src": "895:14:7" + }, + { + "nodeType": "YulAssignment", + "src": "918:26:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "936:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "939:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "926:9:7" + }, + "nodeType": "YulFunctionCall", + "src": "926:18:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "918:4:7" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "851:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "859:4:7", + "type": "" + } + ], + "src": "810:141:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1001:49:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1011:33:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1029:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1036:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1025:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1025:14:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1041:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "1021:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1021:23:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1011:6:7" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "984:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "994:6:7", + "type": "" + } + ], + "src": "957:93:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1109:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1119:37:7", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "1144:4:7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1150:5:7" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "1140:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1140:16:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "1119:8:7" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "1084:4:7", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1090:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "1100:8:7", + "type": "" + } + ], + "src": "1056:107:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1245:317:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1255:35:7", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "1276:10:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1288:1:7", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "1272:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1272:18:7" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "1259:9:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1299:109:7", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "1330:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1341:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "1311:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "1311:97:7" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "1303:4:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1417:51:7", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "1448:9:7" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "1459:8:7" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "1429:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "1429:39:7" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "1417:8:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1477:30:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1490:5:7" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "1501:4:7" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1497:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1497:9:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1486:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1486:21:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1477:5:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1516:40:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1529:5:7" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "1540:8:7" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "1550:4:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1536:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1536:19:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1526:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1526:30:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "1516:6:7" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1206:5:7", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "1213:10:7", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "1225:8:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "1238:6:7", + "type": "" + } + ], + "src": "1169:393:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1613:32:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1623:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1634:5:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1623:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1595:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1605:7:7", + "type": "" + } + ], + "src": "1568:77:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1683:28:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1693:12:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1700:5:7" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "1693:3:7" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1669:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "1679:3:7", + "type": "" + } + ], + "src": "1651:60:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1777:82:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1787:66:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1845:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1827:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1827:24:7" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "1818:8:7" + }, + "nodeType": "YulFunctionCall", + "src": "1818:34:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "1800:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1800:53:7" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "1787:9:7" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1757:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "1767:9:7", + "type": "" + } + ], + "src": "1717:142:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1912:28:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1922:12:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1929:5:7" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "1922:3:7" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1898:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "1908:3:7", + "type": "" + } + ], + "src": "1865:75:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2022:193:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2032:63:7", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "2087:7:7" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "2056:30:7" + }, + "nodeType": "YulFunctionCall", + "src": "2056:39:7" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "2036:16:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2111:4:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2151:4:7" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "2145:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "2145:11:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2158:6:7" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "2190:16:7" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "2166:23:7" + }, + "nodeType": "YulFunctionCall", + "src": "2166:41:7" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "2117:27:7" + }, + "nodeType": "YulFunctionCall", + "src": "2117:91:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "2104:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2104:105:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2104:105:7" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "1999:4:7", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2005:6:7", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "2013:7:7", + "type": "" + } + ], + "src": "1946:269:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2270:24:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2280:8:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2287:1:7", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "2280:3:7" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "2266:3:7", + "type": "" + } + ], + "src": "2221:73:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2353:136:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2363:46:7", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "2377:30:7" + }, + "nodeType": "YulFunctionCall", + "src": "2377:32:7" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "2367:6:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "2462:4:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2468:6:7" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "2476:6:7" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "2418:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "2418:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2418:65:7" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "2339:4:7", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2345:6:7", + "type": "" + } + ], + "src": "2300:189:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2545:136:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2612:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "2656:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2663:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "2626:29:7" + }, + "nodeType": "YulFunctionCall", + "src": "2626:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2626:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "2565:5:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2572:3:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2562:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2562:14:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2577:26:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2579:22:7", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "2592:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2599:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2588:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2588:13:7" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "2579:5:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2559:2:7", + "statements": [] + }, + "src": "2555:120:7" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "2533:5:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2540:3:7", + "type": "" + } + ], + "src": "2495:186:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2766:464:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2792:431:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2806:54:7", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2854:5:7" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "2822:31:7" + }, + "nodeType": "YulFunctionCall", + "src": "2822:38:7" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "2810:8:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2873:63:7", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "2896:8:7" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "2924:10:7" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "2906:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "2906:29:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2892:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2892:44:7" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "2877:11:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3093:27:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3095:23:7", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "3110:8:7" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "3095:11:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "3077:10:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3089:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "3074:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "3074:18:7" + }, + "nodeType": "YulIf", + "src": "3071:49:7" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "3162:11:7" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "3179:8:7" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "3207:3:7" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "3189:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "3189:22:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3175:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3175:37:7" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "3133:28:7" + }, + "nodeType": "YulFunctionCall", + "src": "3133:80:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3133:80:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "2783:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2788:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2780:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2780:11:7" + }, + "nodeType": "YulIf", + "src": "2777:446:7" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2742:5:7", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "2749:3:7", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "2754:10:7", + "type": "" + } + ], + "src": "2687:543:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3299:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3309:37:7", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "3334:4:7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3340:5:7" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "3330:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3330:16:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "3309:8:7" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "3274:4:7", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3280:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "3290:8:7", + "type": "" + } + ], + "src": "3236:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3410:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3420:68:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3469:1:7", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "3472:5:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "3465:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3465:13:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3484:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3480:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3480:6:7" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "3436:28:7" + }, + "nodeType": "YulFunctionCall", + "src": "3436:51:7" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3432:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3432:56:7" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "3424:4:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3497:25:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3511:4:7" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "3517:4:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3507:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3507:15:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3497:6:7" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "3387:4:7", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "3393:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "3403:6:7", + "type": "" + } + ], + "src": "3359:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3614:214:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3747:37:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3774:4:7" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "3780:3:7" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "3755:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "3755:29:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3747:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3793:29:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3804:4:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3814:1:7", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "3817:3:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "3810:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3810:11:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "3801:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "3801:21:7" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "3793:4:7" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "3595:4:7", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "3601:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "3609:4:7", + "type": "" + } + ], + "src": "3533:295:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3925:1303:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3936:51:7", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "3983:3:7" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3950:32:7" + }, + "nodeType": "YulFunctionCall", + "src": "3950:37:7" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "3940:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4072:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "4074:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "4074:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4074:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4044:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4052:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4041:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4041:30:7" + }, + "nodeType": "YulIf", + "src": "4038:56:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4104:52:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "4150:4:7" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "4144:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "4144:11:7" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "4118:25:7" + }, + "nodeType": "YulFunctionCall", + "src": "4118:38:7" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "4108:6:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "4249:4:7" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "4255:6:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4263:6:7" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "4203:45:7" + }, + "nodeType": "YulFunctionCall", + "src": "4203:67:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4203:67:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4280:18:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4297:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "4284:9:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4308:17:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4321:4:7", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "4308:9:7" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4372:611:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4386:37:7", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4405:6:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4417:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4413:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4413:9:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4401:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4401:22:7" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "4390:7:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4437:51:7", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "4483:4:7" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "4451:31:7" + }, + "nodeType": "YulFunctionCall", + "src": "4451:37:7" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "4441:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4501:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4510:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4505:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4569:163:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "4594:6:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4612:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "4617:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4608:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4608:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4602:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "4602:26:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "4587:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4587:42:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4587:42:7" + }, + { + "nodeType": "YulAssignment", + "src": "4646:24:7", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "4660:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4668:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4656:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4656:14:7" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "4646:6:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4687:31:7", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "4704:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4715:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4700:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4700:18:7" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "4687:9:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4535:1:7" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "4538:7:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4532:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4532:14:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4547:21:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4549:17:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4558:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4561:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4554:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4554:12:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4549:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4528:3:7", + "statements": [] + }, + "src": "4524:208:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4768:156:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4786:43:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4813:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "4818:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4809:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4809:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4803:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "4803:26:7" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "4790:9:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "4853:6:7" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "4880:9:7" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4895:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4903:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4891:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4891:17:7" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "4861:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "4861:48:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "4846:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4846:64:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4846:64:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "4751:7:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4760:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4748:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4748:19:7" + }, + "nodeType": "YulIf", + "src": "4745:179:7" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "4944:4:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4958:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4966:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4954:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4954:14:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4970:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4950:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4950:22:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "4937:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4937:36:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4937:36:7" + } + ] + }, + "nodeType": "YulCase", + "src": "4365:618:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4370:1:7", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5000:222:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5014:14:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5027:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5018:5:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5051:67:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5069:35:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "5088:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "5093:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5084:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5084:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5078:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "5078:26:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5069:5:7" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "5044:6:7" + }, + "nodeType": "YulIf", + "src": "5041:77:7" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "5138:4:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5197:5:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "5204:6:7" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "5144:52:7" + }, + "nodeType": "YulFunctionCall", + "src": "5144:67:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "5131:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5131:81:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5131:81:7" + } + ] + }, + "nodeType": "YulCase", + "src": "4992:230:7", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "4345:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4353:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4342:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4342:14:7" + }, + "nodeType": "YulSwitch", + "src": "4335:887:7" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "3914:4:7", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "3920:3:7", + "type": "" + } + ], + "src": "3833:1395:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5262:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5279:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5282:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5272:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5272:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5272:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5376:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5379:4:7", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5369:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5369:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5369:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5400:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5403:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5393:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5393:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5393:15:7" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "5234:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5471:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5481:34:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5506:1:7", + "type": "", + "value": "1" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5509:5:7" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "5502:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5502:13:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "5481:8:7" + } + ] + } + ] + }, + "name": "shift_right_1_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5452:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "5462:8:7", + "type": "" + } + ], + "src": "5420:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5601:775:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5611:15:7", + "value": { + "name": "_power", + "nodeType": "YulIdentifier", + "src": "5620:6:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "5611:5:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5635:14:7", + "value": { + "name": "_base", + "nodeType": "YulIdentifier", + "src": "5644:5:7" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "5635:4:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5693:677:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5781:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "5783:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "5783:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5783:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "5759:4:7" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "5769:3:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "5774:4:7" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "5765:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5765:14:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5756:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "5756:24:7" + }, + "nodeType": "YulIf", + "src": "5753:50:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5848:419:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6228:25:7", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6241:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6248:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6237:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6237:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6228:5:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "5823:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5833:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5819:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5819:16:7" + }, + "nodeType": "YulIf", + "src": "5816:451:7" + }, + { + "nodeType": "YulAssignment", + "src": "6280:23:7", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6292:4:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6298:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6288:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6288:15:7" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6280:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6316:44:7", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "6351:8:7" + } + ], + "functionName": { + "name": "shift_right_1_unsigned", + "nodeType": "YulIdentifier", + "src": "6328:22:7" + }, + "nodeType": "YulFunctionCall", + "src": "6328:32:7" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "6316:8:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "5669:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5679:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5666:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "5666:15:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5682:2:7", + "statements": [] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5662:3:7", + "statements": [] + }, + "src": "5658:712:7" + } + ] + }, + "name": "checked_exp_helper", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "_power", + "nodeType": "YulTypedName", + "src": "5556:6:7", + "type": "" + }, + { + "name": "_base", + "nodeType": "YulTypedName", + "src": "5564:5:7", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "5571:8:7", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "5581:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "5589:5:7", + "type": "" + }, + { + "name": "base", + "nodeType": "YulTypedName", + "src": "5596:4:7", + "type": "" + } + ], + "src": "5528:848:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6442:1013:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6637:20:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6639:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6648:1:7", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6639:5:7" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "6650:5:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "6627:8:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6620:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6620:16:7" + }, + "nodeType": "YulIf", + "src": "6617:40:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6682:20:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6684:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6693:1:7", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6684:5:7" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "6695:5:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6676:4:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6669:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6669:12:7" + }, + "nodeType": "YulIf", + "src": "6666:36:7" + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6812:20:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6814:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6823:1:7", + "type": "", + "value": "1" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6814:5:7" + } + ] + }, + { + "nodeType": "YulLeave", + "src": "6825:5:7" + } + ] + }, + "nodeType": "YulCase", + "src": "6805:27:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6810:1:7", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6856:176:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6891:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6893:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "6893:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6893:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "6876:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6886:3:7", + "type": "", + "value": "255" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6873:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6873:17:7" + }, + "nodeType": "YulIf", + "src": "6870:43:7" + }, + { + "nodeType": "YulAssignment", + "src": "6926:25:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6939:1:7", + "type": "", + "value": "2" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "6942:8:7" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "6935:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6935:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6926:5:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6982:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6984:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "6984:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6984:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "6970:5:7" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "6977:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6967:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6967:14:7" + }, + "nodeType": "YulIf", + "src": "6964:40:7" + }, + { + "nodeType": "YulLeave", + "src": "7017:5:7" + } + ] + }, + "nodeType": "YulCase", + "src": "6841:191:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6846:1:7", + "type": "", + "value": "2" + } + } + ], + "expression": { + "name": "base", + "nodeType": "YulIdentifier", + "src": "6762:4:7" + }, + "nodeType": "YulSwitch", + "src": "6755:277:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7164:123:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7178:28:7", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7191:4:7" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7197:8:7" + } + ], + "functionName": { + "name": "exp", + "nodeType": "YulIdentifier", + "src": "7187:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7187:19:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7178:5:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7237:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "7239:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "7239:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7239:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7225:5:7" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "7232:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7222:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7222:14:7" + }, + "nodeType": "YulIf", + "src": "7219:40:7" + }, + { + "nodeType": "YulLeave", + "src": "7272:5:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7067:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7073:2:7", + "type": "", + "value": "11" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7064:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7064:12:7" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7081:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7091:2:7", + "type": "", + "value": "78" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7078:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7078:16:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7060:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7060:35:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7116:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7122:3:7", + "type": "", + "value": "307" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7113:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7113:13:7" + }, + { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7131:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7141:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7128:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7128:16:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7109:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7109:36:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "7044:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7044:111:7" + }, + "nodeType": "YulIf", + "src": "7041:246:7" + }, + { + "nodeType": "YulAssignment", + "src": "7297:57:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7331:1:7", + "type": "", + "value": "1" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7334:4:7" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7340:8:7" + }, + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "7350:3:7" + } + ], + "functionName": { + "name": "checked_exp_helper", + "nodeType": "YulIdentifier", + "src": "7312:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "7312:42:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7297:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7304:4:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7393:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "7395:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "7395:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7395:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7370:5:7" + }, + { + "arguments": [ + { + "name": "max", + "nodeType": "YulIdentifier", + "src": "7381:3:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7386:4:7" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "7377:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7377:14:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7367:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7367:25:7" + }, + "nodeType": "YulIf", + "src": "7364:51:7" + }, + { + "nodeType": "YulAssignment", + "src": "7424:25:7", + "value": { + "arguments": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7437:5:7" + }, + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7444:4:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "7433:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7433:16:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7424:5:7" + } + ] + } + ] + }, + "name": "checked_exp_unsigned", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "6412:4:7", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "6418:8:7", + "type": "" + }, + { + "name": "max", + "nodeType": "YulTypedName", + "src": "6428:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "6436:5:7", + "type": "" + } + ], + "src": "6382:1073:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7504:43:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7514:27:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7529:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7536:4:7", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7525:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7525:16:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7514:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7486:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7496:7:7", + "type": "" + } + ], + "src": "7461:86:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7617:217:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7627:31:7", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7653:4:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7635:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "7635:23:7" + }, + "variableNames": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7627:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7667:37:7", + "value": { + "arguments": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7695:8:7" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "7679:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "7679:25:7" + }, + "variableNames": [ + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7667:8:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7714:113:7", + "value": { + "arguments": [ + { + "name": "base", + "nodeType": "YulIdentifier", + "src": "7744:4:7" + }, + { + "name": "exponent", + "nodeType": "YulIdentifier", + "src": "7750:8:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7760:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "checked_exp_unsigned", + "nodeType": "YulIdentifier", + "src": "7723:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "7723:104:7" + }, + "variableNames": [ + { + "name": "power", + "nodeType": "YulIdentifier", + "src": "7714:5:7" + } + ] + } + ] + }, + "name": "checked_exp_t_uint256_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "base", + "nodeType": "YulTypedName", + "src": "7592:4:7", + "type": "" + }, + { + "name": "exponent", + "nodeType": "YulTypedName", + "src": "7598:8:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "power", + "nodeType": "YulTypedName", + "src": "7611:5:7", + "type": "" + } + ], + "src": "7553:281:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7888:362:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7898:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7921:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7903:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "7903:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7898:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7932:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7955:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7937:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "7937:20:7" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7932:1:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7966:28:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7989:1:7" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7992:1:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "7985:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7985:9:7" + }, + "variables": [ + { + "name": "product_raw", + "nodeType": "YulTypedName", + "src": "7970:11:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8003:41:7", + "value": { + "arguments": [ + { + "name": "product_raw", + "nodeType": "YulIdentifier", + "src": "8032:11:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8014:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "8014:30:7" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "8003:7:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8221:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "8223:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "8223:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8223:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8154:1:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8147:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8147:9:7" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "8177:1:7" + }, + { + "arguments": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "8184:7:7" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "8193:1:7" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "8180:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8180:15:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8174:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "8174:22:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "8127:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "8127:83:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8107:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8107:113:7" + }, + "nodeType": "YulIf", + "src": "8104:139:7" + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "7871:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "7874:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "7880:7:7", + "type": "" + } + ], + "src": "7840:410:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8352:73:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8369:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8374:6:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8362:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8362:19:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8362:19:7" + }, + { + "nodeType": "YulAssignment", + "src": "8390:29:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8409:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8414:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8405:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8405:14:7" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "8390:11:7" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8324:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8329:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "8340:11:7", + "type": "" + } + ], + "src": "8256:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8537:75:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8559:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8567:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8555:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8555:14:7" + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8571:33:7", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8548:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8548:57:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8548:57:7" + } + ] + }, + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8529:6:7", + "type": "" + } + ], + "src": "8431:181:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8764:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8774:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8840:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8845:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8781:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "8781:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8774:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8946:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulIdentifier", + "src": "8857:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "8857:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8857:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "8959:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8970:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8975:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8966:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8966:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8959:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8752:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8760:3:7", + "type": "" + } + ], + "src": "8618:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9161:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9171:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9183:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9194:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9179:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9179:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9171:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9218:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9229:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9214:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9214:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9237:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9243:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9233:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9233:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9207:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9207:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9207:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "9263:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9397:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9271:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "9271:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9263:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9141:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9156:4:7", + "type": "" + } + ], + "src": "8990:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9459:147:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9469:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9492:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9474:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "9474:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9469:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9503:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9526:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9508:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "9508:20:7" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9503:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9537:16:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9548:1:7" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9551:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9544:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9544:9:7" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "9537:3:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9577:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9579:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "9579:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9579:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9569:1:7" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "9572:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9566:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "9566:10:7" + }, + "nodeType": "YulIf", + "src": "9563:36:7" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "9446:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "9449:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "9455:3:7", + "type": "" + } + ], + "src": "9415:191:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9677:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9694:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9717:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9699:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "9699:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9687:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9687:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9687:37:7" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9665:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9672:3:7", + "type": "" + } + ], + "src": "9612:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9834:124:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9844:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9856:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9867:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9852:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9852:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9844:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9924:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9937:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9948:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9933:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9933:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "9880:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "9880:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9880:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9806:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9818:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9829:4:7", + "type": "" + } + ], + "src": "9736:222:7" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function shift_right_1_unsigned(value) -> newValue {\n newValue :=\n\n shr(1, value)\n\n }\n\n function checked_exp_helper(_power, _base, exponent, max) -> power, base {\n power := _power\n base := _base\n for { } gt(exponent, 1) {}\n {\n // overflow check for base * base\n if gt(base, div(max, base)) { panic_error_0x11() }\n if and(exponent, 1)\n {\n // No checks for power := mul(power, base) needed, because the check\n // for base * base above is sufficient, since:\n // |power| <= base (proof by induction) and thus:\n // |power * base| <= base * base <= max <= |min| (for signed)\n // (this is equally true for signed and unsigned exp)\n power := mul(power, base)\n }\n base := mul(base, base)\n exponent := shift_right_1_unsigned(exponent)\n }\n }\n\n function checked_exp_unsigned(base, exponent, max) -> power {\n // This function currently cannot be inlined because of the\n // \"leave\" statements. We have to improve the optimizer.\n\n // Note that 0**0 == 1\n if iszero(exponent) { power := 1 leave }\n if iszero(base) { power := 0 leave }\n\n // Specializations for small bases\n switch base\n // 0 is handled above\n case 1 { power := 1 leave }\n case 2\n {\n if gt(exponent, 255) { panic_error_0x11() }\n power := exp(2, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n if or(\n and(lt(base, 11), lt(exponent, 78)),\n and(lt(base, 307), lt(exponent, 32))\n )\n {\n power := exp(base, exponent)\n if gt(power, max) { panic_error_0x11() }\n leave\n }\n\n power, base := checked_exp_helper(1, base, exponent, max)\n\n if gt(power, div(max, base)) { panic_error_0x11() }\n power := mul(power, base)\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function checked_exp_t_uint256_t_uint8(base, exponent) -> power {\n base := cleanup_t_uint256(base)\n exponent := cleanup_t_uint8(exponent)\n\n power := checked_exp_unsigned(base, exponent, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n}\n", + "id": 7, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:18446:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "66:40:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "77:22:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "93:5:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "87:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "87:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "77:6:7" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "49:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "59:6:7", + "type": "" + } + ], + "src": "7:99:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "208:73:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "225:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "230:6:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "218:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "218:19:7" + }, + "nodeType": "YulExpressionStatement", + "src": "218:19:7" + }, + { + "nodeType": "YulAssignment", + "src": "246:29:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "265:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "270:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "261:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "261:14:7" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "246:11:7" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "180:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "185:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "196:11:7", + "type": "" + } + ], + "src": "112:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "349:184:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "359:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "368:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "363:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "428:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "453:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "458:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "449:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "449:11:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "472:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "477:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "468:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "468:11:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "462:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "462:18:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "442:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "442:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "442:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "389:1:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "392:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "386:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "386:13:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "400:19:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "402:15:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "411:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "414:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "407:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "407:10:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "402:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "382:3:7", + "statements": [] + }, + "src": "378:113:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "511:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "516:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "507:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "507:16:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "525:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "500:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "500:27:7" + }, + "nodeType": "YulExpressionStatement", + "src": "500:27:7" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "331:3:7", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "336:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "341:6:7", + "type": "" + } + ], + "src": "287:246:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "587:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "597:38:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "615:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "622:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "611:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "611:14:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "631:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "627:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "627:7:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "607:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "607:28:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "597:6:7" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "570:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "580:6:7", + "type": "" + } + ], + "src": "539:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "739:285:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "749:53:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "796:5:7" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "763:32:7" + }, + "nodeType": "YulFunctionCall", + "src": "763:39:7" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "753:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "811:78:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "877:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "882:6:7" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "818:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "818:71:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "811:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "937:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "944:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "933:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "933:16:7" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "951:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "956:6:7" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "898:34:7" + }, + "nodeType": "YulFunctionCall", + "src": "898:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "898:65:7" + }, + { + "nodeType": "YulAssignment", + "src": "972:46:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "983:3:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1010:6:7" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "988:21:7" + }, + "nodeType": "YulFunctionCall", + "src": "988:29:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "979:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "979:39:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "972:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "720:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "727:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "735:3:7", + "type": "" + } + ], + "src": "647:377:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1148:195:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1158:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1170:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1181:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1166:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1166:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1158:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1205:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1216:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1201:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1201:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1224:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1230:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1220:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1220:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1194:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1194:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1194:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "1250:86:7", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1322:6:7" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1331:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "1258:63:7" + }, + "nodeType": "YulFunctionCall", + "src": "1258:78:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1250:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1120:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1132:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1143:4:7", + "type": "" + } + ], + "src": "1030:313:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1389:35:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1399:19:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1415:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1409:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "1409:9:7" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1399:6:7" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1382:6:7", + "type": "" + } + ], + "src": "1349:75:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1519:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1539:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1529:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1529:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1529:12:7" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "1430:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1642:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1659:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1662:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1652:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1652:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1652:12:7" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "1553:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1721:81:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1731:65:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1746:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1753:42:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1742:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1742:54:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1731:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1703:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1713:7:7", + "type": "" + } + ], + "src": "1676:126:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1853:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1863:35:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1892:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "1874:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1874:24:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1863:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1835:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1845:7:7", + "type": "" + } + ], + "src": "1808:96:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1953:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2010:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2019:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2022:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2012:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2012:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2012:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1976:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2001:5:7" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "1983:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1983:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1973:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1973:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1966:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1966:43:7" + }, + "nodeType": "YulIf", + "src": "1963:63:7" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1946:5:7", + "type": "" + } + ], + "src": "1910:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2090:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2100:29:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2122:6:7" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2109:12:7" + }, + "nodeType": "YulFunctionCall", + "src": "2109:20:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2100:5:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2165:5:7" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "2138:26:7" + }, + "nodeType": "YulFunctionCall", + "src": "2138:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2138:33:7" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2068:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2076:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2084:5:7", + "type": "" + } + ], + "src": "2038:139:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2228:32:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2238:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2249:5:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2238:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2210:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2220:7:7", + "type": "" + } + ], + "src": "2183:77:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2309:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2366:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2375:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2378:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2368:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2368:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2368:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2332:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2357:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2339:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "2339:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2329:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2329:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2322:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2322:43:7" + }, + "nodeType": "YulIf", + "src": "2319:63:7" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2302:5:7", + "type": "" + } + ], + "src": "2266:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2446:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2456:29:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2478:6:7" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2465:12:7" + }, + "nodeType": "YulFunctionCall", + "src": "2465:20:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2456:5:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2521:5:7" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "2494:26:7" + }, + "nodeType": "YulFunctionCall", + "src": "2494:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2494:33:7" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2424:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2432:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2440:5:7", + "type": "" + } + ], + "src": "2394:139:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2622:391:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2668:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2670:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "2670:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2670:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2643:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2652:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2639:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2639:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2664:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2635:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2635:32:7" + }, + "nodeType": "YulIf", + "src": "2632:119:7" + }, + { + "nodeType": "YulBlock", + "src": "2761:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2776:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2790:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2780:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2805:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2840:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2851:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2836:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2836:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2860:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "2815:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "2815:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2805:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2888:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2903:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2907:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2933:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2968:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2979:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2964:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2964:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2988:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2943:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "2943:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2933:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2584:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2595:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2607:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2615:6:7", + "type": "" + } + ], + "src": "2539:474:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3061:48:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3071:32:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3096:5:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3089:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3089:13:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3082:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3082:21:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3071:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3043:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3053:7:7", + "type": "" + } + ], + "src": "3019:90:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3174:50:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3191:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3211:5:7" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "3196:14:7" + }, + "nodeType": "YulFunctionCall", + "src": "3196:21:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3184:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3184:34:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3184:34:7" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3162:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3169:3:7", + "type": "" + } + ], + "src": "3115:109:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3322:118:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3332:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3344:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3355:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3340:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3340:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3332:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3406:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3419:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3430:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3415:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3415:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "3368:37:7" + }, + "nodeType": "YulFunctionCall", + "src": "3368:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3368:65:7" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3294:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3306:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3317:4:7", + "type": "" + } + ], + "src": "3230:210:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3511:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3528:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3551:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3533:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "3533:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3521:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3521:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3521:37:7" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3499:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3506:3:7", + "type": "" + } + ], + "src": "3446:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3668:124:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3678:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3690:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3701:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3686:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3686:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3678:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3758:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3771:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3782:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3767:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3767:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3714:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "3714:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3714:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3640:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3652:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3663:4:7", + "type": "" + } + ], + "src": "3570:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3898:519:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3944:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3946:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "3946:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3946:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3919:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3928:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3915:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3915:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3940:2:7", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3911:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3911:32:7" + }, + "nodeType": "YulIf", + "src": "3908:119:7" + }, + { + "nodeType": "YulBlock", + "src": "4037:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4052:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4066:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4056:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4081:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4116:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4127:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4112:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4112:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4136:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4091:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4091:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4081:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4164:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4179:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4193:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4183:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4209:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4244:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4255:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4240:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4240:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4264:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4219:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4219:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4209:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4292:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4307:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4321:2:7", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4311:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4337:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4372:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4383:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4368:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4368:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4392:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4347:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4347:53:7" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4337:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3852:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3863:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3875:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3883:6:7", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3891:6:7", + "type": "" + } + ], + "src": "3798:619:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4466:43:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4476:27:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4491:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4498:4:7", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4487:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4487:16:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4476:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4448:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4458:7:7", + "type": "" + } + ], + "src": "4423:86:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4576:51:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4593:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4614:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "4598:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "4598:22:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4586:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4586:35:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4586:35:7" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4564:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4571:3:7", + "type": "" + } + ], + "src": "4515:112:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4727:120:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4737:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4749:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4760:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4745:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4745:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4737:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4813:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4826:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4837:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4822:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4822:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "4773:39:7" + }, + "nodeType": "YulFunctionCall", + "src": "4773:67:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4773:67:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4699:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4711:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4722:4:7", + "type": "" + } + ], + "src": "4633:214:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4919:263:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4965:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4967:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "4967:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4967:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4940:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4949:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4936:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4936:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4961:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4932:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4932:32:7" + }, + "nodeType": "YulIf", + "src": "4929:119:7" + }, + { + "nodeType": "YulBlock", + "src": "5058:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5073:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5087:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5077:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5102:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5137:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5148:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5133:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5133:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5157:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5112:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "5112:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5102:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4889:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4900:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4912:6:7", + "type": "" + } + ], + "src": "4853:329:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5254:263:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5300:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5302:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "5302:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5302:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5275:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5284:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5271:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5271:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5296:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5267:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5267:32:7" + }, + "nodeType": "YulIf", + "src": "5264:119:7" + }, + { + "nodeType": "YulBlock", + "src": "5393:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5408:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5422:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5412:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5437:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5472:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5483:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5468:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5468:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5492:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5447:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "5447:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5437:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5224:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5235:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5247:6:7", + "type": "" + } + ], + "src": "5188:329:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5588:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5605:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5628:5:7" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "5610:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "5610:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5598:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5598:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5598:37:7" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5576:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5583:3:7", + "type": "" + } + ], + "src": "5523:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5745:124:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5755:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5767:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5778:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5763:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5763:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5755:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5835:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5848:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5859:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5844:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5844:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "5791:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "5791:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5791:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5717:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5729:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5740:4:7", + "type": "" + } + ], + "src": "5647:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5958:391:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6004:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6006:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "6006:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6006:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5979:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5988:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5975:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5975:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6000:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5971:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5971:32:7" + }, + "nodeType": "YulIf", + "src": "5968:119:7" + }, + { + "nodeType": "YulBlock", + "src": "6097:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6112:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6126:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6116:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6141:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6176:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6187:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6172:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6172:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6196:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6151:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "6151:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6141:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6224:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6239:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6253:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6243:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6269:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6304:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6315:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6300:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6300:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6324:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6279:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "6279:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6269:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5920:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5931:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5943:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5951:6:7", + "type": "" + } + ], + "src": "5875:474:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6383:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6400:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6403:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6393:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6393:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6393:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6497:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6500:4:7", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6490:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6490:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6490:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6521:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6524:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6514:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6514:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6514:15:7" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "6355:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6592:269:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6602:22:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "6616:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6622:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "6612:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6612:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6602:6:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6633:38:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "6663:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6669:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6659:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6659:12:7" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "6637:18:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6710:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6724:27:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6738:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6746:4:7", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6734:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6734:17:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6724:6:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "6690:18:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6683:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6683:26:7" + }, + "nodeType": "YulIf", + "src": "6680:81:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6813:42:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "6827:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "6827:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6827:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "6777:18:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6800:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6808:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6797:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6797:14:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6774:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6774:38:7" + }, + "nodeType": "YulIf", + "src": "6771:84:7" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "6576:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6585:6:7", + "type": "" + } + ], + "src": "6541:320:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6895:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6912:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6915:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6905:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6905:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6905:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7009:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7012:4:7", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7002:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7002:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7002:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7033:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7036:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7026:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7026:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7026:15:7" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "6867:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7097:147:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7107:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7130:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7112:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "7112:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7107:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7141:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7164:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "7146:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "7146:20:7" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7141:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7175:16:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7186:1:7" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "7189:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7182:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7182:9:7" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "7175:3:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7215:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "7217:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "7217:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7217:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "7207:1:7" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "7210:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7204:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7204:10:7" + }, + "nodeType": "YulIf", + "src": "7201:36:7" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "7084:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "7087:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "7093:3:7", + "type": "" + } + ], + "src": "7053:191:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7356:118:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7378:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7386:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7374:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7374:14:7" + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7390:34:7", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7367:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7367:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7367:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7446:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7454:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7442:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7442:15:7" + }, + { + "hexValue": "207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7459:7:7", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7435:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7435:32:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7435:32:7" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "7348:6:7", + "type": "" + } + ], + "src": "7250:224:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7626:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7636:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7702:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7707:2:7", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7643:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "7643:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7636:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7808:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "7719:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "7719:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7719:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "7821:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7832:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7837:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7828:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7828:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7821:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7614:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7622:3:7", + "type": "" + } + ], + "src": "7480:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8023:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8033:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8045:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8056:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8041:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8041:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8033:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8080:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8091:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8076:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8076:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8099:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8105:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8095:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8095:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8069:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8069:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8069:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "8125:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8259:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8133:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "8133:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8125:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8003:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8018:4:7", + "type": "" + } + ], + "src": "7852:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8383:119:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8405:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8413:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8401:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8401:14:7" + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8417:34:7", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8394:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8394:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8394:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8473:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8481:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8469:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8469:15:7" + }, + { + "hexValue": "646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8486:8:7", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8462:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8462:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8462:33:7" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8375:6:7", + "type": "" + } + ], + "src": "8277:225:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8654:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8664:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8730:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8735:2:7", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8671:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "8671:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8664:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8836:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "8747:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "8747:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8747:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "8849:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8860:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8865:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8856:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8856:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8849:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8642:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8650:3:7", + "type": "" + } + ], + "src": "8508:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9051:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9061:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9073:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9084:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9069:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9069:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9061:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9108:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9119:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9104:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9104:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9127:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9133:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9123:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9123:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9097:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9097:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9097:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "9153:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9287:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9161:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "9161:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9153:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9031:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9046:4:7", + "type": "" + } + ], + "src": "8880:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9411:117:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9433:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9441:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9429:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9429:14:7" + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9445:34:7", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9422:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9422:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9422:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9501:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9509:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9497:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9497:15:7" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9514:6:7", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9490:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9490:31:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9490:31:7" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "9403:6:7", + "type": "" + } + ], + "src": "9305:223:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9680:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9690:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9756:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9761:2:7", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9697:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "9697:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9690:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9862:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "9773:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "9773:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9773:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "9875:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9886:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9891:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9882:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9882:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9875:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9668:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9676:3:7", + "type": "" + } + ], + "src": "9534:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10077:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10087:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10099:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10110:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10095:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10095:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10087:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10134:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10145:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10130:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10130:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10153:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10159:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10149:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10149:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10123:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10123:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10123:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "10179:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10313:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10187:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "10187:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10179:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10057:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10072:4:7", + "type": "" + } + ], + "src": "9906:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10437:115:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10459:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10467:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10455:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10455:14:7" + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10471:34:7", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10448:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10448:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10448:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10527:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10535:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10523:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10523:15:7" + }, + { + "hexValue": "7373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10540:4:7", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10516:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10516:29:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10516:29:7" + } + ] + }, + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10429:6:7", + "type": "" + } + ], + "src": "10331:221:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10704:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10714:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10780:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10785:2:7", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10721:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "10721:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10714:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10886:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulIdentifier", + "src": "10797:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "10797:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10797:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "10899:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10910:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10915:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10906:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10906:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10899:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10692:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10700:3:7", + "type": "" + } + ], + "src": "10558:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11101:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11111:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11123:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11134:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11119:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11119:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11111:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11158:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11169:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11154:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11154:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11177:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11183:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11173:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11173:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11147:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "11147:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11147:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "11203:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11337:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11211:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "11211:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11203:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11081:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11096:4:7", + "type": "" + } + ], + "src": "10930:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11461:73:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11483:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11491:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11479:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11479:14:7" + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11495:31:7", + "type": "", + "value": "ERC20: insufficient allowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11472:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "11472:55:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11472:55:7" + } + ] + }, + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11453:6:7", + "type": "" + } + ], + "src": "11355:179:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11686:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11696:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11762:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11767:2:7", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11703:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "11703:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11696:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11868:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulIdentifier", + "src": "11779:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "11779:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11779:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "11881:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11892:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11897:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11888:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11888:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11881:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11674:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11682:3:7", + "type": "" + } + ], + "src": "11540:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12083:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12093:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12105:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12116:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12101:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12101:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12093:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12140:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12151:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12136:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12136:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12159:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12165:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12155:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12155:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12129:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12129:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12129:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "12185:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12319:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12193:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "12193:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12185:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12063:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12078:4:7", + "type": "" + } + ], + "src": "11912:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12443:118:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12465:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12473:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12461:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12461:14:7" + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12477:34:7", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12454:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12454:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12454:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12533:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12541:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12529:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12529:15:7" + }, + { + "hexValue": "6472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12546:7:7", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12522:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12522:32:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12522:32:7" + } + ] + }, + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12435:6:7", + "type": "" + } + ], + "src": "12337:224:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12713:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12723:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12789:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12794:2:7", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12730:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "12730:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12723:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12895:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulIdentifier", + "src": "12806:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "12806:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12806:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "12908:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12919:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12924:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12915:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12915:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12908:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12701:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12709:3:7", + "type": "" + } + ], + "src": "12567:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13110:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13120:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13132:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13143:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13128:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13128:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13120:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13167:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13178:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13163:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13163:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13186:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13192:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13182:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13182:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13156:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "13156:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13156:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "13212:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13346:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13220:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "13220:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13212:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13090:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13105:4:7", + "type": "" + } + ], + "src": "12939:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13470:116:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13492:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13500:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13488:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13488:14:7" + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13504:34:7", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13481:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "13481:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13481:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13560:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13568:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13556:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13556:15:7" + }, + { + "hexValue": "657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13573:5:7", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13549:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "13549:30:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13549:30:7" + } + ] + }, + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "13462:6:7", + "type": "" + } + ], + "src": "13364:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13738:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13748:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13814:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13819:2:7", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13755:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "13755:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13748:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13920:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulIdentifier", + "src": "13831:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "13831:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13831:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "13933:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13944:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13949:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13940:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13940:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13933:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13726:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13734:3:7", + "type": "" + } + ], + "src": "13592:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14135:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14145:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14157:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14168:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14153:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14153:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14145:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14192:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14203:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14188:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14188:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14211:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14217:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14207:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14207:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14181:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "14181:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "14181:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "14237:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14371:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14245:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "14245:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14237:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14115:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14130:4:7", + "type": "" + } + ], + "src": "13964:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14495:119:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14517:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14525:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14513:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14513:14:7" + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14529:34:7", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14506:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "14506:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "14506:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14585:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14593:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14581:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14581:15:7" + }, + { + "hexValue": "616c616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14598:8:7", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14574:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "14574:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "14574:33:7" + } + ] + }, + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14487:6:7", + "type": "" + } + ], + "src": "14389:225:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14766:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14776:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14842:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14847:2:7", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14783:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "14783:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14776:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14948:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulIdentifier", + "src": "14859:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "14859:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "14859:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "14961:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14972:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14977:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14968:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "14968:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14961:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14754:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14762:3:7", + "type": "" + } + ], + "src": "14620:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15163:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15173:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15185:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15196:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15181:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15181:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15173:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15220:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15231:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15216:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15216:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15239:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15245:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15235:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15235:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15209:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "15209:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15209:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "15265:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15399:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15273:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "15273:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15265:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15143:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15158:4:7", + "type": "" + } + ], + "src": "14992:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15523:114:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15545:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15553:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15541:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15541:14:7" + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15557:34:7", + "type": "", + "value": "ERC20: burn from the zero addres" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15534:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "15534:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15534:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15613:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15621:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15609:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15609:15:7" + }, + { + "hexValue": "73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15626:3:7", + "type": "", + "value": "s" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15602:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "15602:28:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15602:28:7" + } + ] + }, + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15515:6:7", + "type": "" + } + ], + "src": "15417:220:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15789:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15799:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15865:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15870:2:7", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15806:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "15806:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15799:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15971:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulIdentifier", + "src": "15882:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "15882:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "15882:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "15984:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15995:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16000:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15991:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "15991:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15984:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15777:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15785:3:7", + "type": "" + } + ], + "src": "15643:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16186:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16196:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16208:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16219:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16204:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16204:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16196:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16243:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16254:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16239:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16239:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16262:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16268:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16258:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16258:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16232:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16232:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16232:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "16288:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16422:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16296:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "16296:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16288:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16166:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16181:4:7", + "type": "" + } + ], + "src": "16015:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16546:115:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16568:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16576:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16564:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16564:14:7" + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16580:34:7", + "type": "", + "value": "ERC20: burn amount exceeds balan" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16557:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16557:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16557:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16636:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16644:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16632:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "16632:15:7" + }, + { + "hexValue": "6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16649:4:7", + "type": "", + "value": "ce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16625:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "16625:29:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16625:29:7" + } + ] + }, + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16538:6:7", + "type": "" + } + ], + "src": "16440:221:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16813:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16823:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16889:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16894:2:7", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16830:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "16830:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16823:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16995:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulIdentifier", + "src": "16906:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "16906:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "16906:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "17008:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17019:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17024:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17015:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17015:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17008:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16801:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16809:3:7", + "type": "" + } + ], + "src": "16667:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17210:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17220:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17232:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17243:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17228:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17228:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17220:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17267:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17278:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17263:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17263:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17286:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17292:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17282:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17282:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17256:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "17256:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17256:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "17312:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17446:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17320:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "17320:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17312:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17190:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17205:4:7", + "type": "" + } + ], + "src": "17039:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17570:76:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17592:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17600:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17588:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "17588:14:7" + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17604:34:7", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17581:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "17581:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17581:58:7" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17562:6:7", + "type": "" + } + ], + "src": "17464:182:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17798:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17808:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17874:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17879:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17815:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "17815:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17808:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17980:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "17891:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "17891:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "17891:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "17993:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18004:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18009:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18000:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18000:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17993:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17786:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17794:3:7", + "type": "" + } + ], + "src": "17652:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18195:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18205:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18217:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18228:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18213:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18213:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18205:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18252:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18263:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18248:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18248:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18271:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18277:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18267:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "18267:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18241:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "18241:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "18241:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "18297:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18431:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18305:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "18305:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18297:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18175:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18190:4:7", + "type": "" + } + ], + "src": "18024:419:7" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn from the zero addres\")\n\n mstore(add(memPtr, 32), \"s\")\n\n }\n\n function abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn amount exceeds balan\")\n\n mstore(add(memPtr, 32), \"ce\")\n\n }\n\n function abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 7, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "242:164:6:-:0;;;299:105;;;;;;;;;;1976:113:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2050:5;2042;:13;;;;;;:::i;:::-;;2075:7;2065;:17;;;;;;:::i;:::-;;1976:113;;936:32:0;955:12;:10;;;:12;;:::i;:::-;936:18;;;:32;;:::i;:::-;349:48:6::1;355:10;386;:8;;;:10;;:::i;:::-;380:2;:16;;;;:::i;:::-;367:10;:29;;;;:::i;:::-;349:5;;;:48;;:::i;:::-;242:164:::0;;640:96:5;693:7;719:10;712:17;;640:96;:::o;2433:187:0:-;2506:16;2525:6;;;;;;;;;;;2506:25;;2550:8;2541:6;;:17;;;;;;;;;;;;;;;;;;2604:8;2573:40;;2594:8;2573:40;;;;;;;;;;;;2496:124;2433:187;:::o;3091:91:1:-;3149:5;3173:2;3166:9;;3091:91;:::o;8567:535::-;8669:1;8650:21;;:7;:21;;;8642:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8718:49;8747:1;8751:7;8760:6;8718:20;;;:49;;:::i;:::-;8794:6;8778:12;;:22;;;;;;;:::i;:::-;;;;;;;;8968:6;8946:9;:18;8956:7;8946:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;9020:7;8999:37;;9016:1;8999:37;;;9029:6;8999:37;;;;;;:::i;:::-;;;;;;;;9047:48;9075:1;9079:7;9088:6;9047:19;;;:48;;:::i;:::-;8567:535;;:::o;12180:121::-;;;;:::o;12889:120::-;;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;5234:180::-;5282:77;5279:1;5272:88;5379:4;5376:1;5369:15;5403:4;5400:1;5393:15;5420:102;5462:8;5509:5;5506:1;5502:13;5481:34;;5420:102;;;:::o;5528:848::-;5589:5;5596:4;5620:6;5611:15;;5644:5;5635:14;;5658:712;5679:1;5669:8;5666:15;5658:712;;;5774:4;5769:3;5765:14;5759:4;5756:24;5753:50;;;5783:18;;:::i;:::-;5753:50;5833:1;5823:8;5819:16;5816:451;;;6248:4;6241:5;6237:16;6228:25;;5816:451;6298:4;6292;6288:15;6280:23;;6328:32;6351:8;6328:32;:::i;:::-;6316:44;;5658:712;;;5528:848;;;;;;;:::o;6382:1073::-;6436:5;6627:8;6617:40;;6648:1;6639:10;;6650:5;;6617:40;6676:4;6666:36;;6693:1;6684:10;;6695:5;;6666:36;6762:4;6810:1;6805:27;;;;6846:1;6841:191;;;;6755:277;;6805:27;6823:1;6814:10;;6825:5;;;6841:191;6886:3;6876:8;6873:17;6870:43;;;6893:18;;:::i;:::-;6870:43;6942:8;6939:1;6935:16;6926:25;;6977:3;6970:5;6967:14;6964:40;;;6984:18;;:::i;:::-;6964:40;7017:5;;;6755:277;;7141:2;7131:8;7128:16;7122:3;7116:4;7113:13;7109:36;7091:2;7081:8;7078:16;7073:2;7067:4;7064:12;7060:35;7044:111;7041:246;;;7197:8;7191:4;7187:19;7178:28;;7232:3;7225:5;7222:14;7219:40;;;7239:18;;:::i;:::-;7219:40;7272:5;;7041:246;7312:42;7350:3;7340:8;7334:4;7331:1;7312:42;:::i;:::-;7297:57;;;;7386:4;7381:3;7377:14;7370:5;7367:25;7364:51;;;7395:18;;:::i;:::-;7364:51;7444:4;7437:5;7433:16;7424:25;;6382:1073;;;;;;:::o;7461:86::-;7496:7;7536:4;7529:5;7525:16;7514:27;;7461:86;;;:::o;7553:281::-;7611:5;7635:23;7653:4;7635:23;:::i;:::-;7627:31;;7679:25;7695:8;7679:25;:::i;:::-;7667:37;;7723:104;7760:66;7750:8;7744:4;7723:104;:::i;:::-;7714:113;;7553:281;;;;:::o;7840:410::-;7880:7;7903:20;7921:1;7903:20;:::i;:::-;7898:25;;7937:20;7955:1;7937:20;:::i;:::-;7932:25;;7992:1;7989;7985:9;8014:30;8032:11;8014:30;:::i;:::-;8003:41;;8193:1;8184:7;8180:15;8177:1;8174:22;8154:1;8147:9;8127:83;8104:139;;8223:18;;:::i;:::-;8104:139;7888:362;7840:410;;;;:::o;8256:169::-;8340:11;8374:6;8369:3;8362:19;8414:4;8409:3;8405:14;8390:29;;8256:169;;;;:::o;8431:181::-;8571:33;8567:1;8559:6;8555:14;8548:57;8431:181;:::o;8618:366::-;8760:3;8781:67;8845:2;8840:3;8781:67;:::i;:::-;8774:74;;8857:93;8946:3;8857:93;:::i;:::-;8975:2;8970:3;8966:12;8959:19;;8618:366;;;:::o;8990:419::-;9156:4;9194:2;9183:9;9179:18;9171:26;;9243:9;9237:4;9233:20;9229:1;9218:9;9214:17;9207:47;9271:131;9397:4;9271:131;:::i;:::-;9263:139;;8990:419;;;:::o;9415:191::-;9455:3;9474:20;9492:1;9474:20;:::i;:::-;9469:25;;9508:20;9526:1;9508:20;:::i;:::-;9503:25;;9551:1;9548;9544:9;9537:16;;9572:3;9569:1;9566:10;9563:36;;;9579:18;;:::i;:::-;9563:36;9415:191;;;;:::o;9612:118::-;9699:24;9717:5;9699:24;:::i;:::-;9694:3;9687:37;9612:118;;:::o;9736:222::-;9829:4;9867:2;9856:9;9852:18;9844:26;;9880:71;9948:1;9937:9;9933:17;9924:6;9880:71;:::i;:::-;9736:222;;;;:::o;242:164:6:-;;;;;;;", + "deployedSourceMap": "242:164:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5190:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3091:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;578:89:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3406:125:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1831:101:0;;;:::i;:::-;;973:161:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1201:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2365:102:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6592:427;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3727:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2081:198:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2154:98:1;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;4530:13;4546:12;:10;:12::i;:::-;4530:28;;4568:32;4577:5;4584:7;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;:::o;3242:106::-;3303:7;3329:12;;3322:19;;3242:106;:::o;5190:286::-;5317:4;5333:15;5351:12;:10;:12::i;:::-;5333:30;;5373:38;5389:4;5395:7;5404:6;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;5465:4;5458:11;;;5190:286;;;;;:::o;3091:91::-;3149:5;3173:2;3166:9;;3091:91;:::o;5871:234::-;5959:4;5975:13;5991:12;:10;:12::i;:::-;5975:28;;6013:64;6022:5;6029:7;6066:10;6038:25;6048:5;6055:7;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;:::-;6094:4;6087:11;;;5871:234;;;;:::o;578:89:3:-;633:27;639:12;:10;:12::i;:::-;653:6;633:5;:27::i;:::-;578:89;:::o;3406:125:1:-;3480:7;3506:9;:18;3516:7;3506:18;;;;;;;;;;;;;;;;3499:25;;3406:125;;;:::o;1831:101:0:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;973:161:3:-;1049:46;1065:7;1074:12;:10;:12::i;:::-;1088:6;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;1201:85:0:-;1247:7;1273:6;;;;;;;;;;;1266:13;;1201:85;:::o;2365:102:1:-;2421:13;2453:7;2446:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2365:102;:::o;6592:427::-;6685:4;6701:13;6717:12;:10;:12::i;:::-;6701:28;;6739:24;6766:25;6776:5;6783:7;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;:::-;7008:4;7001:11;;;;6592:427;;;;:::o;3727:189::-;3806:4;3822:13;3838:12;:10;:12::i;:::-;3822:28;;3860;3870:5;3877:2;3881:6;3860:9;:28::i;:::-;3905:4;3898:11;;;3727:189;;;;:::o;3974:149::-;4063:7;4089:11;:18;4101:5;4089:18;;;;;;;;;;;;;;;:27;4108:7;4089:27;;;;;;;;;;;;;;;;4082:34;;3974:149;;;;:::o;2081:198:0:-;1094:13;:11;:13::i;:::-;2189:1:::1;2169:22;;:8;:22;;::::0;2161:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;10504:370:1:-;10652:1;10635:19;;:5;:19;;;10627:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10732:1;10713:21;;:7;:21;;;10705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10814:6;10784:11;:18;10796:5;10784:18;;;;;;;;;;;;;;;:27;10803:7;10784:27;;;;;;;;;;;;;;;:36;;;;10851:7;10835:32;;10844:5;10835:32;;;10860:6;10835:32;;;;;;:::i;:::-;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;11371:17;11351:16;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11347:243;11275:321;11155:441;;;:::o;7473:818::-;7615:1;7599:18;;:4;:18;;;7591:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7691:1;7677:16;;:2;:16;;;7669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7744:38;7765:4;7771:2;7775:6;7744:20;:38::i;:::-;7793:19;7815:9;:15;7825:4;7815:15;;;;;;;;;;;;;;;;7793:37;;7863:6;7848:11;:21;;7840:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7978:6;7964:11;:20;7946:9;:15;7956:4;7946:15;;;;;;;;;;;;;;;:38;;;;8178:6;8161:9;:13;8171:2;8161:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;8225:2;8210:26;;8219:4;8210:26;;;8229:6;8210:26;;;;;;:::i;:::-;;;;;;;;8247:37;8267:4;8273:2;8277:6;8247:19;:37::i;:::-;7581:710;7473:818;;;:::o;9422:659::-;9524:1;9505:21;;:7;:21;;;9497:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9575:49;9596:7;9613:1;9617:6;9575:20;:49::i;:::-;9635:22;9660:9;:18;9670:7;9660:18;;;;;;;;;;;;;;;;9635:43;;9714:6;9696:14;:24;;9688:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9831:6;9814:14;:23;9793:9;:18;9803:7;9793:18;;;;;;;;;;;;;;;:44;;;;9946:6;9930:12;;:22;;;;;;;;;;;10004:1;9978:37;;9987:7;9978:37;;;10008:6;9978:37;;;;;;:::i;:::-;;;;;;;;10026:48;10046:7;10063:1;10067:6;10026:19;:48::i;:::-;9487:594;9422:659;;:::o;1359:130:0:-;1433:12;:10;:12::i;:::-;1422:23;;:7;:5;:7::i;:::-;:23;;;1414:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1359:130::o;2433:187::-;2506:16;2525:6;;;;;;;;;;;2506:25;;2550:8;2541:6;;:17;;;;;;;;;;;;;;;;;;2604:8;2573:40;;2594:8;2573:40;;;;;;;;;;;;2496:124;2433:187;:::o;12180:121:1:-;;;;:::o;12889:120::-;;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:474::-;5943:6;5951;6000:2;5988:9;5979:7;5975:23;5971:32;5968:119;;;6006:79;;:::i;:::-;5968:119;6126:1;6151:53;6196:7;6187:6;6176:9;6172:22;6151:53;:::i;:::-;6141:63;;6097:117;6253:2;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6224:118;5875:474;;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:320;6585:6;6622:1;6616:4;6612:12;6602:22;;6669:1;6663:4;6659:12;6690:18;6680:81;;6746:4;6738:6;6734:17;6724:27;;6680:81;6808:2;6800:6;6797:14;6777:18;6774:38;6771:84;;6827:18;;:::i;:::-;6771:84;6592:269;6541:320;;;:::o;6867:180::-;6915:77;6912:1;6905:88;7012:4;7009:1;7002:15;7036:4;7033:1;7026:15;7053:191;7093:3;7112:20;7130:1;7112:20;:::i;:::-;7107:25;;7146:20;7164:1;7146:20;:::i;:::-;7141:25;;7189:1;7186;7182:9;7175:16;;7210:3;7207:1;7204:10;7201:36;;;7217:18;;:::i;:::-;7201:36;7053:191;;;;:::o;7250:224::-;7390:34;7386:1;7378:6;7374:14;7367:58;7459:7;7454:2;7446:6;7442:15;7435:32;7250:224;:::o;7480:366::-;7622:3;7643:67;7707:2;7702:3;7643:67;:::i;:::-;7636:74;;7719:93;7808:3;7719:93;:::i;:::-;7837:2;7832:3;7828:12;7821:19;;7480:366;;;:::o;7852:419::-;8018:4;8056:2;8045:9;8041:18;8033:26;;8105:9;8099:4;8095:20;8091:1;8080:9;8076:17;8069:47;8133:131;8259:4;8133:131;:::i;:::-;8125:139;;7852:419;;;:::o;8277:225::-;8417:34;8413:1;8405:6;8401:14;8394:58;8486:8;8481:2;8473:6;8469:15;8462:33;8277:225;:::o;8508:366::-;8650:3;8671:67;8735:2;8730:3;8671:67;:::i;:::-;8664:74;;8747:93;8836:3;8747:93;:::i;:::-;8865:2;8860:3;8856:12;8849:19;;8508:366;;;:::o;8880:419::-;9046:4;9084:2;9073:9;9069:18;9061:26;;9133:9;9127:4;9123:20;9119:1;9108:9;9104:17;9097:47;9161:131;9287:4;9161:131;:::i;:::-;9153:139;;8880:419;;;:::o;9305:223::-;9445:34;9441:1;9433:6;9429:14;9422:58;9514:6;9509:2;9501:6;9497:15;9490:31;9305:223;:::o;9534:366::-;9676:3;9697:67;9761:2;9756:3;9697:67;:::i;:::-;9690:74;;9773:93;9862:3;9773:93;:::i;:::-;9891:2;9886:3;9882:12;9875:19;;9534:366;;;:::o;9906:419::-;10072:4;10110:2;10099:9;10095:18;10087:26;;10159:9;10153:4;10149:20;10145:1;10134:9;10130:17;10123:47;10187:131;10313:4;10187:131;:::i;:::-;10179:139;;9906:419;;;:::o;10331:221::-;10471:34;10467:1;10459:6;10455:14;10448:58;10540:4;10535:2;10527:6;10523:15;10516:29;10331:221;:::o;10558:366::-;10700:3;10721:67;10785:2;10780:3;10721:67;:::i;:::-;10714:74;;10797:93;10886:3;10797:93;:::i;:::-;10915:2;10910:3;10906:12;10899:19;;10558:366;;;:::o;10930:419::-;11096:4;11134:2;11123:9;11119:18;11111:26;;11183:9;11177:4;11173:20;11169:1;11158:9;11154:17;11147:47;11211:131;11337:4;11211:131;:::i;:::-;11203:139;;10930:419;;;:::o;11355:179::-;11495:31;11491:1;11483:6;11479:14;11472:55;11355:179;:::o;11540:366::-;11682:3;11703:67;11767:2;11762:3;11703:67;:::i;:::-;11696:74;;11779:93;11868:3;11779:93;:::i;:::-;11897:2;11892:3;11888:12;11881:19;;11540:366;;;:::o;11912:419::-;12078:4;12116:2;12105:9;12101:18;12093:26;;12165:9;12159:4;12155:20;12151:1;12140:9;12136:17;12129:47;12193:131;12319:4;12193:131;:::i;:::-;12185:139;;11912:419;;;:::o;12337:224::-;12477:34;12473:1;12465:6;12461:14;12454:58;12546:7;12541:2;12533:6;12529:15;12522:32;12337:224;:::o;12567:366::-;12709:3;12730:67;12794:2;12789:3;12730:67;:::i;:::-;12723:74;;12806:93;12895:3;12806:93;:::i;:::-;12924:2;12919:3;12915:12;12908:19;;12567:366;;;:::o;12939:419::-;13105:4;13143:2;13132:9;13128:18;13120:26;;13192:9;13186:4;13182:20;13178:1;13167:9;13163:17;13156:47;13220:131;13346:4;13220:131;:::i;:::-;13212:139;;12939:419;;;:::o;13364:222::-;13504:34;13500:1;13492:6;13488:14;13481:58;13573:5;13568:2;13560:6;13556:15;13549:30;13364:222;:::o;13592:366::-;13734:3;13755:67;13819:2;13814:3;13755:67;:::i;:::-;13748:74;;13831:93;13920:3;13831:93;:::i;:::-;13949:2;13944:3;13940:12;13933:19;;13592:366;;;:::o;13964:419::-;14130:4;14168:2;14157:9;14153:18;14145:26;;14217:9;14211:4;14207:20;14203:1;14192:9;14188:17;14181:47;14245:131;14371:4;14245:131;:::i;:::-;14237:139;;13964:419;;;:::o;14389:225::-;14529:34;14525:1;14517:6;14513:14;14506:58;14598:8;14593:2;14585:6;14581:15;14574:33;14389:225;:::o;14620:366::-;14762:3;14783:67;14847:2;14842:3;14783:67;:::i;:::-;14776:74;;14859:93;14948:3;14859:93;:::i;:::-;14977:2;14972:3;14968:12;14961:19;;14620:366;;;:::o;14992:419::-;15158:4;15196:2;15185:9;15181:18;15173:26;;15245:9;15239:4;15235:20;15231:1;15220:9;15216:17;15209:47;15273:131;15399:4;15273:131;:::i;:::-;15265:139;;14992:419;;;:::o;15417:220::-;15557:34;15553:1;15545:6;15541:14;15534:58;15626:3;15621:2;15613:6;15609:15;15602:28;15417:220;:::o;15643:366::-;15785:3;15806:67;15870:2;15865:3;15806:67;:::i;:::-;15799:74;;15882:93;15971:3;15882:93;:::i;:::-;16000:2;15995:3;15991:12;15984:19;;15643:366;;;:::o;16015:419::-;16181:4;16219:2;16208:9;16204:18;16196:26;;16268:9;16262:4;16258:20;16254:1;16243:9;16239:17;16232:47;16296:131;16422:4;16296:131;:::i;:::-;16288:139;;16015:419;;;:::o;16440:221::-;16580:34;16576:1;16568:6;16564:14;16557:58;16649:4;16644:2;16636:6;16632:15;16625:29;16440:221;:::o;16667:366::-;16809:3;16830:67;16894:2;16889:3;16830:67;:::i;:::-;16823:74;;16906:93;16995:3;16906:93;:::i;:::-;17024:2;17019:3;17015:12;17008:19;;16667:366;;;:::o;17039:419::-;17205:4;17243:2;17232:9;17228:18;17220:26;;17292:9;17286:4;17282:20;17278:1;17267:9;17263:17;17256:47;17320:131;17446:4;17320:131;:::i;:::-;17312:139;;17039:419;;;:::o;17464:182::-;17604:34;17600:1;17592:6;17588:14;17581:58;17464:182;:::o;17652:366::-;17794:3;17815:67;17879:2;17874:3;17815:67;:::i;:::-;17808:74;;17891:93;17980:3;17891:93;:::i;:::-;18009:2;18004:3;18000:12;17993:19;;17652:366;;;:::o;18024:419::-;18190:4;18228:2;18217:9;18213:18;18205:26;;18277:9;18271:4;18267:20;18263:1;18252:9;18248:17;18241:47;18305:131;18431:4;18305:131;:::i;:::-;18297:139;;18024:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.9;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract ChainGPT is ERC20, ERC20Burnable, Ownable {\n constructor() ERC20(\"ChainGPT\", \"CGPT\") {\n _mint(msg.sender, 1000000000 * 10 ** decimals());\n }\n}", + "sourcePath": "/Users/jaymaree/Development/CGPT_Token/contracts/ChainGPT.sol", + "ast": { + "absolutePath": "project:/contracts/ChainGPT.sol", + "exportedSymbols": { + "ChainGPT": [ + 899 + ], + "Context": [ + 868 + ], + "ERC20": [ + 699 + ], + "ERC20Burnable": [ + 821 + ], + "IERC20": [ + 777 + ], + "IERC20Metadata": [ + 846 + ], + "Ownable": [ + 112 + ] + }, + "id": 900, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 870, + "literals": [ + "solidity", + "^", + "0.8", + ".9" + ], + "nodeType": "PragmaDirective", + "src": "32:23:6" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 871, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 900, + "sourceUnit": 700, + "src": "57:55:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "id": 872, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 900, + "sourceUnit": 822, + "src": "113:74:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 873, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 900, + "sourceUnit": 113, + "src": "188:52:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 874, + "name": "ERC20", + "nameLocations": [ + "263:5:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 699, + "src": "263:5:6" + }, + "id": 875, + "nodeType": "InheritanceSpecifier", + "src": "263:5:6" + }, + { + "baseName": { + "id": 876, + "name": "ERC20Burnable", + "nameLocations": [ + "270:13:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 821, + "src": "270:13:6" + }, + "id": 877, + "nodeType": "InheritanceSpecifier", + "src": "270:13:6" + }, + { + "baseName": { + "id": 878, + "name": "Ownable", + "nameLocations": [ + "285:7:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 112, + "src": "285:7:6" + }, + "id": 879, + "nodeType": "InheritanceSpecifier", + "src": "285:7:6" + } + ], + "canonicalName": "ChainGPT", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 899, + "linearizedBaseContracts": [ + 899, + 112, + 821, + 699, + 846, + 777, + 868 + ], + "name": "ChainGPT", + "nameLocation": "251:8:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 897, + "nodeType": "Block", + "src": "339:65:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 887, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "355:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "359:6:6", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "355:10:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "31303030303030303030", + "id": 889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "367:10:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000_by_1", + "typeString": "int_const 1000000000" + }, + "value": "1000000000" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "380:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 891, + "name": "decimals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 187, + "src": "386:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint8_$", + "typeString": "function () view returns (uint8)" + } + }, + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "386:10:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "380:16:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "367:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 886, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "349:5:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "349:48:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 896, + "nodeType": "ExpressionStatement", + "src": "349:48:6" + } + ] + }, + "id": 898, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "436861696e475054", + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "319:10:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_514d12ff0a95f443d30cd204e22e16bf8b717f566a13183abce1ed58dfd1452d", + "typeString": "literal_string \"ChainGPT\"" + }, + "value": "ChainGPT" + }, + { + "hexValue": "43475054", + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "331:6:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f0700b71479a40c0dc5917561040a20a87b08f7f68bdfcd78ad772a8d0101328", + "typeString": "literal_string \"CGPT\"" + }, + "value": "CGPT" + } + ], + "id": 884, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 881, + "name": "ERC20", + "nameLocations": [ + "313:5:6" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 699, + "src": "313:5:6" + }, + "nodeType": "ModifierInvocation", + "src": "313:25:6" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 880, + "nodeType": "ParameterList", + "parameters": [], + "src": "310:2:6" + }, + "returnParameters": { + "id": 885, + "nodeType": "ParameterList", + "parameters": [], + "src": "339:0:6" + }, + "scope": 899, + "src": "299:105:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 900, + "src": "242:164:6", + "usedErrors": [] + } + ], + "src": "32:374:6" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": { + "97": { + "events": {}, + "links": {}, + "address": "0x36E007f80E43fE379e5aa3fB9E77460C583c9030", + "transactionHash": "0x5ac60fe4d698129da198029a48d0839fab3048c152d14acecbe3ee0e061c1504" + } + }, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T14:17:15.486Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "burn(uint256)": { + "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." + }, + "burnFrom(address,uint256)": { + "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Context.json b/build/contracts/Context.json new file mode 100644 index 0000000..ece5dc4 --- /dev/null +++ b/build/contracts/Context.json @@ -0,0 +1,272 @@ +{ + "contractName": "Context", + "abi": [], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/utils/Context.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 868 + ] + }, + "id": 869, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 848, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:5" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 849, + "nodeType": "StructuredDocumentation", + "src": "111:496:5", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 868, + "linearizedBaseContracts": [ + 868 + ], + "name": "Context", + "nameLocation": "626:7:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 857, + "nodeType": "Block", + "src": "702:34:5", + "statements": [ + { + "expression": { + "expression": { + "id": 854, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "719:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "723:6:5", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "719:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 853, + "id": 856, + "nodeType": "Return", + "src": "712:17:5" + } + ] + }, + "id": 858, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "649:10:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 850, + "nodeType": "ParameterList", + "parameters": [], + "src": "659:2:5" + }, + "returnParameters": { + "id": 853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 852, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 858, + "src": "693:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "692:9:5" + }, + "scope": 868, + "src": "640:96:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 866, + "nodeType": "Block", + "src": "809:32:5", + "statements": [ + { + "expression": { + "expression": { + "id": 863, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "826:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "830:4:5", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "826:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 862, + "id": 865, + "nodeType": "Return", + "src": "819:15:5" + } + ] + }, + "id": 867, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "751:8:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 859, + "nodeType": "ParameterList", + "parameters": [], + "src": "759:2:5" + }, + "returnParameters": { + "id": 862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 861, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 867, + "src": "793:14:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 860, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "793:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "792:16:5" + }, + "scope": 868, + "src": "742:99:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 869, + "src": "608:235:5", + "usedErrors": [] + } + ], + "src": "86:758:5" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.972Z", + "devdoc": { + "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json new file mode 100644 index 0000000..09ad007 --- /dev/null +++ b/build/contracts/ERC20.json @@ -0,0 +1,18759 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620017ec380380620017ec8339818101604052810190620000379190620001f6565b8160039081620000489190620004c6565b5080600490816200005a9190620004c6565b505050620005ad565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000cc8262000081565b810181811067ffffffffffffffff82111715620000ee57620000ed62000092565b5b80604052505050565b60006200010362000063565b9050620001118282620000c1565b919050565b600067ffffffffffffffff82111562000134576200013362000092565b5b6200013f8262000081565b9050602081019050919050565b60005b838110156200016c5780820151818401526020810190506200014f565b60008484015250505050565b60006200018f620001898462000116565b620000f7565b905082815260208101848484011115620001ae57620001ad6200007c565b5b620001bb8482856200014c565b509392505050565b600082601f830112620001db57620001da62000077565b5b8151620001ed84826020860162000178565b91505092915050565b6000806040838503121562000210576200020f6200006d565b5b600083015167ffffffffffffffff81111562000231576200023062000072565b5b6200023f85828601620001c3565b925050602083015167ffffffffffffffff81111562000263576200026262000072565b5b6200027185828601620001c3565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ce57607f821691505b602082108103620002e457620002e362000286565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200034e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200030f565b6200035a86836200030f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003a7620003a16200039b8462000372565b6200037c565b62000372565b9050919050565b6000819050919050565b620003c38362000386565b620003db620003d282620003ae565b8484546200031c565b825550505050565b600090565b620003f2620003e3565b620003ff818484620003b8565b505050565b5b8181101562000427576200041b600082620003e8565b60018101905062000405565b5050565b601f82111562000476576200044081620002ea565b6200044b84620002ff565b810160208510156200045b578190505b620004736200046a85620002ff565b83018262000404565b50505b505050565b600082821c905092915050565b60006200049b600019846008026200047b565b1980831691505092915050565b6000620004b6838362000488565b9150826002028217905092915050565b620004d1826200027b565b67ffffffffffffffff811115620004ed57620004ec62000092565b5b620004f98254620002b5565b620005068282856200042b565b600060209050601f8311600181146200053e576000841562000529578287015190505b620005358582620004a8565b865550620005a5565b601f1984166200054e86620002ea565b60005b82811015620005785784890151825560018201915060208501945060208101905062000551565b8683101562000598578489015162000594601f89168262000488565b8355505b6001600288020188555050505b505050505050565b61122f80620005bd6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea26469706673582212204188b273199f085e1921ec1a1fa55abdee2e425960bda675a51fac85acd9972064736f6c63430008110033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea26469706673582212204188b273199f085e1921ec1a1fa55abdee2e425960bda675a51fac85acd9972064736f6c63430008110033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:8574:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:7" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:7" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:7", + "type": "" + } + ], + "src": "7:75:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:7" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:7" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "423:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:7" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "546:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:7" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "457:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "628:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "638:38:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "656:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "663:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "652:14:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "672:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "668:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "668:7:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "648:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "648:28:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "638:6:7" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "611:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "621:6:7", + "type": "" + } + ], + "src": "580:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "716:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "733:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "736:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "726:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "726:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "726:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "833:4:7", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "823:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "823:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "823:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "854:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "857:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "847:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "847:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "847:15:7" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "688:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "917:238:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:58:7", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "949:6:7" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "979:4:7" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "957:21:7" + }, + "nodeType": "YulFunctionCall", + "src": "957:27:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "945:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "945:40:7" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "931:10:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1096:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1098:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "1098:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1098:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1039:10:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1051:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1036:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1036:34:7" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1075:10:7" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1087:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1072:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1072:22:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1033:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1033:62:7" + }, + "nodeType": "YulIf", + "src": "1030:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:2:7", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1138:10:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1127:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1127:22:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1127:22:7" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "903:6:7", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "911:4:7", + "type": "" + } + ], + "src": "874:281:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1202:88:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1212:30:7", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1222:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "1222:20:7" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1212:6:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1271:6:7" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1279:4:7" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1251:19:7" + }, + "nodeType": "YulFunctionCall", + "src": "1251:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1251:33:7" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1186:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1195:6:7", + "type": "" + } + ], + "src": "1161:129:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:241:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1468:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1470:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "1470:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1470:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1440:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1437:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1437:30:7" + }, + "nodeType": "YulIf", + "src": "1434:56:7" + }, + { + "nodeType": "YulAssignment", + "src": "1500:37:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1530:6:7" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1508:21:7" + }, + "nodeType": "YulFunctionCall", + "src": "1508:29:7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1500:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1574:23:7", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1586:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1592:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1582:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1582:15:7" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1574:4:7" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1347:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:7", + "type": "" + } + ], + "src": "1296:308:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1672:184:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1682:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1691:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1686:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1751:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1776:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1781:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1772:11:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1795:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1800:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1791:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1791:11:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1785:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "1785:18:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1765:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1765:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1765:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1712:1:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1715:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1709:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1709:13:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1723:19:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1725:15:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1734:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1737:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1730:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1730:10:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1725:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1705:3:7", + "statements": [] + }, + "src": "1701:113:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1834:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1839:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1830:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1830:16:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1848:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1823:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1823:27:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1823:27:7" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1654:3:7", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1659:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1664:6:7", + "type": "" + } + ], + "src": "1610:246:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1957:339:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1967:75:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2034:6:7" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1992:41:7" + }, + "nodeType": "YulFunctionCall", + "src": "1992:49:7" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "1976:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "1976:66:7" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1967:5:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2058:5:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2065:6:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2051:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2051:21:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2051:21:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2081:27:7", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2096:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2103:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2092:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2092:16:7" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2085:3:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2146:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2148:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "2148:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2148:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2127:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2132:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2123:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2123:16:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2141:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2120:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2120:25:7" + }, + "nodeType": "YulIf", + "src": "2117:112:7" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2273:3:7" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2278:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2283:6:7" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "2238:34:7" + }, + "nodeType": "YulFunctionCall", + "src": "2238:52:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2238:52:7" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1930:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1935:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1943:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "1951:5:7", + "type": "" + } + ], + "src": "1862:434:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2389:282:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2438:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2440:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "2440:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2440:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2417:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2425:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2413:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2413:17:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2432:3:7" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2409:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2409:27:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2402:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2402:35:7" + }, + "nodeType": "YulIf", + "src": "2399:122:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2530:27:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2550:6:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2544:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "2544:13:7" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2534:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2566:99:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2638:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2646:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2634:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2634:17:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2653:6:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2661:3:7" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "2575:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "2575:90:7" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2566:5:7" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2367:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2375:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2383:5:7", + "type": "" + } + ], + "src": "2316:355:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2791:739:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2837:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2839:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "2839:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2839:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2812:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2821:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2808:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2808:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2833:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2804:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2804:32:7" + }, + "nodeType": "YulIf", + "src": "2801:119:7" + }, + { + "nodeType": "YulBlock", + "src": "2930:291:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2945:38:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2969:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2980:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2965:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2965:17:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2959:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "2959:24:7" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2949:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3030:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3032:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "3032:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3032:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3002:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3010:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2999:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2999:30:7" + }, + "nodeType": "YulIf", + "src": "2996:117:7" + }, + { + "nodeType": "YulAssignment", + "src": "3127:84:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3183:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3194:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3179:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3179:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3203:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3137:41:7" + }, + "nodeType": "YulFunctionCall", + "src": "3137:74:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3127:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3231:292:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3246:39:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3270:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3281:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3266:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3266:18:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3260:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "3260:25:7" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3250:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3332:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3334:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "3334:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3334:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3304:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3312:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3301:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "3301:30:7" + }, + "nodeType": "YulIf", + "src": "3298:117:7" + }, + { + "nodeType": "YulAssignment", + "src": "3429:84:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3485:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3496:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3481:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3481:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3505:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3439:41:7" + }, + "nodeType": "YulFunctionCall", + "src": "3439:74:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3429:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2753:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2764:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2776:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2784:6:7", + "type": "" + } + ], + "src": "2677:853:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3595:40:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3606:22:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3622:5:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3616:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "3616:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3606:6:7" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3578:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3588:6:7", + "type": "" + } + ], + "src": "3536:99:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3669:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3686:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3689:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3679:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3679:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3679:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3783:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3786:4:7", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3776:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3776:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3776:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3807:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3810:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3800:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3800:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3800:15:7" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "3641:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3878:269:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3888:22:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3902:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3908:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "3898:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3898:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3888:6:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3919:38:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "3949:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3955:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3945:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3945:12:7" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "3923:18:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3996:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4010:27:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4024:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4032:4:7", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4020:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4020:17:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4010:6:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "3976:18:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3969:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3969:26:7" + }, + "nodeType": "YulIf", + "src": "3966:81:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4099:42:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4113:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "4113:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4113:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4063:18:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4086:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4094:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4083:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4083:14:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4060:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4060:38:7" + }, + "nodeType": "YulIf", + "src": "4057:84:7" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "3862:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3871:6:7", + "type": "" + } + ], + "src": "3827:320:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4207:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4217:11:7", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4225:3:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4217:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4245:1:7", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "4248:3:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4238:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4238:14:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4238:14:7" + }, + { + "nodeType": "YulAssignment", + "src": "4261:26:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4279:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4282:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nodeType": "YulIdentifier", + "src": "4269:9:7" + }, + "nodeType": "YulFunctionCall", + "src": "4269:18:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4261:4:7" + } + ] + } + ] + }, + "name": "array_dataslot_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "4194:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4202:4:7", + "type": "" + } + ], + "src": "4153:141:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4344:49:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4354:33:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4372:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4379:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4368:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4368:14:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4384:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4364:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4364:23:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "4354:6:7" + } + ] + } + ] + }, + "name": "divide_by_32_ceil", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4327:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "4337:6:7", + "type": "" + } + ], + "src": "4300:93:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4452:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4462:37:7", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "4487:4:7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4493:5:7" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "4483:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4483:16:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "4462:8:7" + } + ] + } + ] + }, + "name": "shift_left_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "4427:4:7", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4433:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "4443:8:7", + "type": "" + } + ], + "src": "4399:107:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4588:317:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4598:35:7", + "value": { + "arguments": [ + { + "name": "shiftBytes", + "nodeType": "YulIdentifier", + "src": "4619:10:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4631:1:7", + "type": "", + "value": "8" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "4615:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4615:18:7" + }, + "variables": [ + { + "name": "shiftBits", + "nodeType": "YulTypedName", + "src": "4602:9:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4642:109:7", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "4673:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4684:66:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "4654:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "4654:97:7" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "4646:4:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4760:51:7", + "value": { + "arguments": [ + { + "name": "shiftBits", + "nodeType": "YulIdentifier", + "src": "4791:9:7" + }, + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "4802:8:7" + } + ], + "functionName": { + "name": "shift_left_dynamic", + "nodeType": "YulIdentifier", + "src": "4772:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "4772:39:7" + }, + "variableNames": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "4760:8:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4820:30:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4833:5:7" + }, + { + "arguments": [ + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "4844:4:7" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "4840:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4840:9:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4829:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4829:21:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4820:5:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4859:40:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4872:5:7" + }, + { + "arguments": [ + { + "name": "toInsert", + "nodeType": "YulIdentifier", + "src": "4883:8:7" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "4893:4:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4879:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4879:19:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "4869:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "4869:30:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "4859:6:7" + } + ] + } + ] + }, + "name": "update_byte_slice_dynamic32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4549:5:7", + "type": "" + }, + { + "name": "shiftBytes", + "nodeType": "YulTypedName", + "src": "4556:10:7", + "type": "" + }, + { + "name": "toInsert", + "nodeType": "YulTypedName", + "src": "4568:8:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "4581:6:7", + "type": "" + } + ], + "src": "4512:393:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4956:32:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4966:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4977:5:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4966:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4938:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4948:7:7", + "type": "" + } + ], + "src": "4911:77:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5026:28:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5036:12:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5043:5:7" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "5036:3:7" + } + ] + } + ] + }, + "name": "identity", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5012:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "5022:3:7", + "type": "" + } + ], + "src": "4994:60:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5120:82:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5130:66:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5188:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5170:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "5170:24:7" + } + ], + "functionName": { + "name": "identity", + "nodeType": "YulIdentifier", + "src": "5161:8:7" + }, + "nodeType": "YulFunctionCall", + "src": "5161:34:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5143:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "5143:53:7" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "5130:9:7" + } + ] + } + ] + }, + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5100:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "5110:9:7", + "type": "" + } + ], + "src": "5060:142:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5255:28:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5265:12:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5272:5:7" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "5265:3:7" + } + ] + } + ] + }, + "name": "prepare_store_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5241:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "5251:3:7", + "type": "" + } + ], + "src": "5208:75:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5365:193:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5375:63:7", + "value": { + "arguments": [ + { + "name": "value_0", + "nodeType": "YulIdentifier", + "src": "5430:7:7" + } + ], + "functionName": { + "name": "convert_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5399:30:7" + }, + "nodeType": "YulFunctionCall", + "src": "5399:39:7" + }, + "variables": [ + { + "name": "convertedValue_0", + "nodeType": "YulTypedName", + "src": "5379:16:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "5454:4:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "5494:4:7" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "5488:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "5488:11:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5501:6:7" + }, + { + "arguments": [ + { + "name": "convertedValue_0", + "nodeType": "YulIdentifier", + "src": "5533:16:7" + } + ], + "functionName": { + "name": "prepare_store_t_uint256", + "nodeType": "YulIdentifier", + "src": "5509:23:7" + }, + "nodeType": "YulFunctionCall", + "src": "5509:41:7" + } + ], + "functionName": { + "name": "update_byte_slice_dynamic32", + "nodeType": "YulIdentifier", + "src": "5460:27:7" + }, + "nodeType": "YulFunctionCall", + "src": "5460:91:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "5447:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5447:105:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5447:105:7" + } + ] + }, + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "5342:4:7", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5348:6:7", + "type": "" + }, + { + "name": "value_0", + "nodeType": "YulTypedName", + "src": "5356:7:7", + "type": "" + } + ], + "src": "5289:269:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5613:24:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5623:8:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5630:1:7", + "type": "", + "value": "0" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "5623:3:7" + } + ] + } + ] + }, + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "5609:3:7", + "type": "" + } + ], + "src": "5564:73:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5696:136:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5706:46:7", + "value": { + "arguments": [], + "functionName": { + "name": "zero_value_for_split_t_uint256", + "nodeType": "YulIdentifier", + "src": "5720:30:7" + }, + "nodeType": "YulFunctionCall", + "src": "5720:32:7" + }, + "variables": [ + { + "name": "zero_0", + "nodeType": "YulTypedName", + "src": "5710:6:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "5805:4:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5811:6:7" + }, + { + "name": "zero_0", + "nodeType": "YulIdentifier", + "src": "5819:6:7" + } + ], + "functionName": { + "name": "update_storage_value_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "5761:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "5761:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5761:65:7" + } + ] + }, + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "5682:4:7", + "type": "" + }, + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5688:6:7", + "type": "" + } + ], + "src": "5643:189:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5888:136:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5955:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "5999:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6006:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "storage_set_to_zero_t_uint256", + "nodeType": "YulIdentifier", + "src": "5969:29:7" + }, + "nodeType": "YulFunctionCall", + "src": "5969:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5969:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "5908:5:7" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5915:3:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5905:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "5905:14:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "5920:26:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5922:22:7", + "value": { + "arguments": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "5935:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5942:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5931:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5931:13:7" + }, + "variableNames": [ + { + "name": "start", + "nodeType": "YulIdentifier", + "src": "5922:5:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "5902:2:7", + "statements": [] + }, + "src": "5898:120:7" + } + ] + }, + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "start", + "nodeType": "YulTypedName", + "src": "5876:5:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5883:3:7", + "type": "" + } + ], + "src": "5838:186:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6109:464:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6135:431:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6149:54:7", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "6197:5:7" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "6165:31:7" + }, + "nodeType": "YulFunctionCall", + "src": "6165:38:7" + }, + "variables": [ + { + "name": "dataArea", + "nodeType": "YulTypedName", + "src": "6153:8:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6216:63:7", + "value": { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "6239:8:7" + }, + { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "6267:10:7" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "6249:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "6249:29:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6235:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6235:44:7" + }, + "variables": [ + { + "name": "deleteStart", + "nodeType": "YulTypedName", + "src": "6220:11:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6436:27:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6438:23:7", + "value": { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "6453:8:7" + }, + "variableNames": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "6438:11:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nodeType": "YulIdentifier", + "src": "6420:10:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6432:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6417:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6417:18:7" + }, + "nodeType": "YulIf", + "src": "6414:49:7" + }, + { + "expression": { + "arguments": [ + { + "name": "deleteStart", + "nodeType": "YulIdentifier", + "src": "6505:11:7" + }, + { + "arguments": [ + { + "name": "dataArea", + "nodeType": "YulIdentifier", + "src": "6522:8:7" + }, + { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "6550:3:7" + } + ], + "functionName": { + "name": "divide_by_32_ceil", + "nodeType": "YulIdentifier", + "src": "6532:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "6532:22:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6518:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6518:37:7" + } + ], + "functionName": { + "name": "clear_storage_range_t_bytes1", + "nodeType": "YulIdentifier", + "src": "6476:28:7" + }, + "nodeType": "YulFunctionCall", + "src": "6476:80:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6476:80:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "6126:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6131:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6123:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6123:11:7" + }, + "nodeType": "YulIf", + "src": "6120:446:7" + } + ] + }, + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "6085:5:7", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "6092:3:7", + "type": "" + }, + { + "name": "startIndex", + "nodeType": "YulTypedName", + "src": "6097:10:7", + "type": "" + } + ], + "src": "6030:543:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6642:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6652:37:7", + "value": { + "arguments": [ + { + "name": "bits", + "nodeType": "YulIdentifier", + "src": "6677:4:7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6683:5:7" + } + ], + "functionName": { + "name": "shr", + "nodeType": "YulIdentifier", + "src": "6673:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6673:16:7" + }, + "variableNames": [ + { + "name": "newValue", + "nodeType": "YulIdentifier", + "src": "6652:8:7" + } + ] + } + ] + }, + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "bits", + "nodeType": "YulTypedName", + "src": "6617:4:7", + "type": "" + }, + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6623:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "newValue", + "nodeType": "YulTypedName", + "src": "6633:8:7", + "type": "" + } + ], + "src": "6579:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6753:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6763:68:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6812:1:7", + "type": "", + "value": "8" + }, + { + "name": "bytes", + "nodeType": "YulIdentifier", + "src": "6815:5:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "6808:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6808:13:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6827:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6823:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6823:6:7" + } + ], + "functionName": { + "name": "shift_right_unsigned_dynamic", + "nodeType": "YulIdentifier", + "src": "6779:28:7" + }, + "nodeType": "YulFunctionCall", + "src": "6779:51:7" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6775:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6775:56:7" + }, + "variables": [ + { + "name": "mask", + "nodeType": "YulTypedName", + "src": "6767:4:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6840:25:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "6854:4:7" + }, + { + "name": "mask", + "nodeType": "YulIdentifier", + "src": "6860:4:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6850:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6850:15:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "6840:6:7" + } + ] + } + ] + }, + "name": "mask_bytes_dynamic", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "6730:4:7", + "type": "" + }, + { + "name": "bytes", + "nodeType": "YulTypedName", + "src": "6736:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "6746:6:7", + "type": "" + } + ], + "src": "6702:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6957:214:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7090:37:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "7117:4:7" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "7123:3:7" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "7098:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "7098:29:7" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "7090:4:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7136:29:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "7147:4:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7157:1:7", + "type": "", + "value": "2" + }, + { + "name": "len", + "nodeType": "YulIdentifier", + "src": "7160:3:7" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "7153:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7153:11:7" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "7144:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7144:21:7" + }, + "variableNames": [ + { + "name": "used", + "nodeType": "YulIdentifier", + "src": "7136:4:7" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "6938:4:7", + "type": "" + }, + { + "name": "len", + "nodeType": "YulTypedName", + "src": "6944:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nodeType": "YulTypedName", + "src": "6952:4:7", + "type": "" + } + ], + "src": "6876:295:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7268:1303:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7279:51:7", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7326:3:7" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7293:32:7" + }, + "nodeType": "YulFunctionCall", + "src": "7293:37:7" + }, + "variables": [ + { + "name": "newLen", + "nodeType": "YulTypedName", + "src": "7283:6:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7415:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "7417:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "7417:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7417:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "7387:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7395:18:7", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7384:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7384:30:7" + }, + "nodeType": "YulIf", + "src": "7381:56:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7447:52:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "7493:4:7" + } + ], + "functionName": { + "name": "sload", + "nodeType": "YulIdentifier", + "src": "7487:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "7487:11:7" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nodeType": "YulIdentifier", + "src": "7461:25:7" + }, + "nodeType": "YulFunctionCall", + "src": "7461:38:7" + }, + "variables": [ + { + "name": "oldLen", + "nodeType": "YulTypedName", + "src": "7451:6:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "7592:4:7" + }, + { + "name": "oldLen", + "nodeType": "YulIdentifier", + "src": "7598:6:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "7606:6:7" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_t_string_storage", + "nodeType": "YulIdentifier", + "src": "7546:45:7" + }, + "nodeType": "YulFunctionCall", + "src": "7546:67:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7546:67:7" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7623:18:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7640:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nodeType": "YulTypedName", + "src": "7627:9:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7651:17:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7664:4:7", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "7651:9:7" + } + ] + }, + { + "cases": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7715:611:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7729:37:7", + "value": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "7748:6:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7760:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "7756:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7756:9:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7744:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7744:22:7" + }, + "variables": [ + { + "name": "loopEnd", + "nodeType": "YulTypedName", + "src": "7733:7:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7780:51:7", + "value": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "7826:4:7" + } + ], + "functionName": { + "name": "array_dataslot_t_string_storage", + "nodeType": "YulIdentifier", + "src": "7794:31:7" + }, + "nodeType": "YulFunctionCall", + "src": "7794:37:7" + }, + "variables": [ + { + "name": "dstPtr", + "nodeType": "YulTypedName", + "src": "7784:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7844:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7853:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "7848:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7912:163:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "7937:6:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "7955:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "7960:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7951:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7951:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7945:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "7945:26:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "7930:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7930:42:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7930:42:7" + }, + { + "nodeType": "YulAssignment", + "src": "7989:24:7", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "8003:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8011:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7999:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7999:14:7" + }, + "variableNames": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "7989:6:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8030:31:7", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "8047:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8058:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8043:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8043:18:7" + }, + "variableNames": [ + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "8030:9:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7878:1:7" + }, + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "7881:7:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "7875:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7875:14:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "7890:21:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7892:17:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7901:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7904:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7897:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7897:12:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "7892:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "7871:3:7", + "statements": [] + }, + "src": "7867:208:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8111:156:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8129:43:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "8156:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "8161:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8152:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8152:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8146:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "8146:26:7" + }, + "variables": [ + { + "name": "lastValue", + "nodeType": "YulTypedName", + "src": "8133:9:7", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nodeType": "YulIdentifier", + "src": "8196:6:7" + }, + { + "arguments": [ + { + "name": "lastValue", + "nodeType": "YulIdentifier", + "src": "8223:9:7" + }, + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "8238:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8246:4:7", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8234:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8234:17:7" + } + ], + "functionName": { + "name": "mask_bytes_dynamic", + "nodeType": "YulIdentifier", + "src": "8204:18:7" + }, + "nodeType": "YulFunctionCall", + "src": "8204:48:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "8189:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8189:64:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8189:64:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nodeType": "YulIdentifier", + "src": "8094:7:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "8103:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8091:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "8091:19:7" + }, + "nodeType": "YulIf", + "src": "8088:179:7" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "8287:4:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "8301:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8309:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "8297:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8297:14:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8313:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8293:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8293:22:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "8280:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8280:36:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8280:36:7" + } + ] + }, + "nodeType": "YulCase", + "src": "7708:618:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7713:1:7", + "type": "", + "value": "1" + } + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8343:222:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8357:14:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8370:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8361:5:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8394:67:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8412:35:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "8431:3:7" + }, + { + "name": "srcOffset", + "nodeType": "YulIdentifier", + "src": "8436:9:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8427:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8427:19:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8421:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "8421:26:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8412:5:7" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "8387:6:7" + }, + "nodeType": "YulIf", + "src": "8384:77:7" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nodeType": "YulIdentifier", + "src": "8481:4:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8540:5:7" + }, + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "8547:6:7" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nodeType": "YulIdentifier", + "src": "8487:52:7" + }, + "nodeType": "YulFunctionCall", + "src": "8487:67:7" + } + ], + "functionName": { + "name": "sstore", + "nodeType": "YulIdentifier", + "src": "8474:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8474:81:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8474:81:7" + } + ] + }, + "nodeType": "YulCase", + "src": "8335:230:7", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nodeType": "YulIdentifier", + "src": "7688:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7696:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7685:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "7685:14:7" + }, + "nodeType": "YulSwitch", + "src": "7678:887:7" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nodeType": "YulTypedName", + "src": "7257:4:7", + "type": "" + }, + { + "name": "src", + "nodeType": "YulTypedName", + "src": "7263:3:7", + "type": "" + } + ], + "src": "7176:1395:7" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n function divide_by_32_ceil(value) -> result {\n result := div(add(value, 31), 32)\n }\n\n function shift_left_dynamic(bits, value) -> newValue {\n newValue :=\n\n shl(bits, value)\n\n }\n\n function update_byte_slice_dynamic32(value, shiftBytes, toInsert) -> result {\n let shiftBits := mul(shiftBytes, 8)\n let mask := shift_left_dynamic(shiftBits, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)\n toInsert := shift_left_dynamic(shiftBits, toInsert)\n value := and(value, not(mask))\n result := or(value, and(toInsert, mask))\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint256_to_t_uint256(value) -> converted {\n converted := cleanup_t_uint256(identity(cleanup_t_uint256(value)))\n }\n\n function prepare_store_t_uint256(value) -> ret {\n ret := value\n }\n\n function update_storage_value_t_uint256_to_t_uint256(slot, offset, value_0) {\n let convertedValue_0 := convert_t_uint256_to_t_uint256(value_0)\n sstore(slot, update_byte_slice_dynamic32(sload(slot), offset, prepare_store_t_uint256(convertedValue_0)))\n }\n\n function zero_value_for_split_t_uint256() -> ret {\n ret := 0\n }\n\n function storage_set_to_zero_t_uint256(slot, offset) {\n let zero_0 := zero_value_for_split_t_uint256()\n update_storage_value_t_uint256_to_t_uint256(slot, offset, zero_0)\n }\n\n function clear_storage_range_t_bytes1(start, end) {\n for {} lt(start, end) { start := add(start, 1) }\n {\n storage_set_to_zero_t_uint256(start, 0)\n }\n }\n\n function clean_up_bytearray_end_slots_t_string_storage(array, len, startIndex) {\n\n if gt(len, 31) {\n let dataArea := array_dataslot_t_string_storage(array)\n let deleteStart := add(dataArea, divide_by_32_ceil(startIndex))\n // If we are clearing array to be short byte array, we want to clear only data starting from array data area.\n if lt(startIndex, 32) { deleteStart := dataArea }\n clear_storage_range_t_bytes1(deleteStart, add(dataArea, divide_by_32_ceil(len)))\n }\n\n }\n\n function shift_right_unsigned_dynamic(bits, value) -> newValue {\n newValue :=\n\n shr(bits, value)\n\n }\n\n function mask_bytes_dynamic(data, bytes) -> result {\n let mask := not(shift_right_unsigned_dynamic(mul(8, bytes), not(0)))\n result := and(data, mask)\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used {\n // we want to save only elements that are part of the array after resizing\n // others should be set to zero\n data := mask_bytes_dynamic(data, len)\n used := or(data, mul(2, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src) {\n\n let newLen := array_length_t_string_memory_ptr(src)\n // Make sure array length is sane\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n\n let oldLen := extract_byte_array_length(sload(slot))\n\n // potentially truncate data\n clean_up_bytearray_end_slots_t_string_storage(slot, oldLen, newLen)\n\n let srcOffset := 0\n\n srcOffset := 0x20\n\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(0x1f))\n\n let dstPtr := array_dataslot_t_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, 0x20) } {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, 32)\n }\n if lt(loopEnd, newLen) {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, mask_bytes_dynamic(lastValue, and(newLen, 0x1f)))\n }\n sstore(slot, add(mul(newLen, 2), 1))\n }\n default {\n let value := 0\n if newLen {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n\n}\n", + "id": 7, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:13699:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "66:40:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "77:22:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "93:5:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "87:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "87:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "77:6:7" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "49:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "59:6:7", + "type": "" + } + ], + "src": "7:99:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "208:73:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "225:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "230:6:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "218:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "218:19:7" + }, + "nodeType": "YulExpressionStatement", + "src": "218:19:7" + }, + { + "nodeType": "YulAssignment", + "src": "246:29:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "265:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "270:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "261:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "261:14:7" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "246:11:7" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "180:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "185:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "196:11:7", + "type": "" + } + ], + "src": "112:169:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "349:184:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "359:10:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "368:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "363:1:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "428:63:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "453:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "458:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "449:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "449:11:7" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "472:3:7" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "477:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "468:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "468:11:7" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "462:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "462:18:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "442:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "442:39:7" + }, + "nodeType": "YulExpressionStatement", + "src": "442:39:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "389:1:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "392:6:7" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "386:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "386:13:7" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "400:19:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "402:15:7", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "411:1:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "414:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "407:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "407:10:7" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "402:1:7" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "382:3:7", + "statements": [] + }, + "src": "378:113:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "511:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "516:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "507:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "507:16:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "525:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "500:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "500:27:7" + }, + "nodeType": "YulExpressionStatement", + "src": "500:27:7" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "331:3:7", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "336:3:7", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "341:6:7", + "type": "" + } + ], + "src": "287:246:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "587:54:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "597:38:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "615:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "622:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "611:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "611:14:7" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "631:2:7", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "627:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "627:7:7" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "607:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "607:28:7" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "597:6:7" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "570:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "580:6:7", + "type": "" + } + ], + "src": "539:102:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "739:285:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "749:53:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "796:5:7" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "763:32:7" + }, + "nodeType": "YulFunctionCall", + "src": "763:39:7" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "753:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "811:78:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "877:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "882:6:7" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "818:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "818:71:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "811:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "937:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "944:4:7", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "933:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "933:16:7" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "951:3:7" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "956:6:7" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nodeType": "YulIdentifier", + "src": "898:34:7" + }, + "nodeType": "YulFunctionCall", + "src": "898:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "898:65:7" + }, + { + "nodeType": "YulAssignment", + "src": "972:46:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "983:3:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1010:6:7" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "988:21:7" + }, + "nodeType": "YulFunctionCall", + "src": "988:29:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "979:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "979:39:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "972:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "720:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "727:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "735:3:7", + "type": "" + } + ], + "src": "647:377:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1148:195:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1158:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1170:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1181:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1166:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1166:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1158:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1205:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1216:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1201:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1201:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1224:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1230:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1220:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1220:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1194:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1194:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1194:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "1250:86:7", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1322:6:7" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1331:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "1258:63:7" + }, + "nodeType": "YulFunctionCall", + "src": "1258:78:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1250:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1120:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1132:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1143:4:7", + "type": "" + } + ], + "src": "1030:313:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1389:35:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1399:19:7", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1415:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1409:5:7" + }, + "nodeType": "YulFunctionCall", + "src": "1409:9:7" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1399:6:7" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1382:6:7", + "type": "" + } + ], + "src": "1349:75:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1519:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1539:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1529:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1529:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1529:12:7" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "1430:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1642:28:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1659:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1662:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1652:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1652:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "1652:12:7" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "1553:117:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1721:81:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1731:65:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1746:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1753:42:7", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1742:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "1742:54:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1731:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1703:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1713:7:7", + "type": "" + } + ], + "src": "1676:126:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1853:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1863:35:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1892:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "1874:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1874:24:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1863:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1835:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1845:7:7", + "type": "" + } + ], + "src": "1808:96:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1953:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2010:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2019:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2022:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2012:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2012:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2012:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1976:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2001:5:7" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "1983:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "1983:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "1973:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "1973:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1966:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "1966:43:7" + }, + "nodeType": "YulIf", + "src": "1963:63:7" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1946:5:7", + "type": "" + } + ], + "src": "1910:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2090:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2100:29:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2122:6:7" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2109:12:7" + }, + "nodeType": "YulFunctionCall", + "src": "2109:20:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2100:5:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2165:5:7" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "2138:26:7" + }, + "nodeType": "YulFunctionCall", + "src": "2138:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2138:33:7" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2068:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2076:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2084:5:7", + "type": "" + } + ], + "src": "2038:139:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2228:32:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2238:16:7", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2249:5:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2238:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2210:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2220:7:7", + "type": "" + } + ], + "src": "2183:77:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2309:79:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2366:16:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2375:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2378:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2368:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2368:12:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2368:12:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2332:5:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2357:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2339:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "2339:24:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2329:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "2329:35:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2322:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "2322:43:7" + }, + "nodeType": "YulIf", + "src": "2319:63:7" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2302:5:7", + "type": "" + } + ], + "src": "2266:122:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2446:87:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2456:29:7", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2478:6:7" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2465:12:7" + }, + "nodeType": "YulFunctionCall", + "src": "2465:20:7" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2456:5:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2521:5:7" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "2494:26:7" + }, + "nodeType": "YulFunctionCall", + "src": "2494:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2494:33:7" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2424:6:7", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2432:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2440:5:7", + "type": "" + } + ], + "src": "2394:139:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2622:391:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2668:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "2670:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "2670:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "2670:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2643:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2652:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2639:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2639:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2664:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2635:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2635:32:7" + }, + "nodeType": "YulIf", + "src": "2632:119:7" + }, + { + "nodeType": "YulBlock", + "src": "2761:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2776:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2790:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2780:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2805:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2840:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2851:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2836:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2836:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2860:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "2815:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "2815:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2805:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2888:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2903:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2907:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2933:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2968:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2979:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2964:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "2964:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2988:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "2943:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "2943:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2933:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2584:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2595:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2607:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2615:6:7", + "type": "" + } + ], + "src": "2539:474:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3061:48:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3071:32:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3096:5:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3089:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3089:13:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3082:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3082:21:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3071:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3043:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3053:7:7", + "type": "" + } + ], + "src": "3019:90:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3174:50:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3191:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3211:5:7" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "3196:14:7" + }, + "nodeType": "YulFunctionCall", + "src": "3196:21:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3184:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3184:34:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3184:34:7" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3162:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3169:3:7", + "type": "" + } + ], + "src": "3115:109:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3322:118:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3332:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3344:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3355:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3340:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3340:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3332:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3406:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3419:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3430:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3415:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3415:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "3368:37:7" + }, + "nodeType": "YulFunctionCall", + "src": "3368:65:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3368:65:7" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3294:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3306:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3317:4:7", + "type": "" + } + ], + "src": "3230:210:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3511:53:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3528:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3551:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3533:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "3533:24:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3521:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "3521:37:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3521:37:7" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3499:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3506:3:7", + "type": "" + } + ], + "src": "3446:118:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3668:124:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3678:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3690:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3701:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3686:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3686:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3678:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3758:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3771:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3782:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3767:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3767:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3714:43:7" + }, + "nodeType": "YulFunctionCall", + "src": "3714:71:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3714:71:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3640:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3652:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3663:4:7", + "type": "" + } + ], + "src": "3570:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3898:519:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3944:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3946:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "3946:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "3946:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3919:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3928:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3915:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3915:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3940:2:7", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3911:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "3911:32:7" + }, + "nodeType": "YulIf", + "src": "3908:119:7" + }, + { + "nodeType": "YulBlock", + "src": "4037:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4052:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4066:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4056:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4081:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4116:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4127:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4112:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4112:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4136:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4091:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4091:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4081:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4164:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4179:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4193:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4183:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4209:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4244:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4255:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4240:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4240:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4264:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4219:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4219:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4209:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4292:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4307:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4321:2:7", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4311:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4337:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4372:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4383:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4368:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4368:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4392:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4347:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "4347:53:7" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4337:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3852:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3863:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3875:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3883:6:7", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3891:6:7", + "type": "" + } + ], + "src": "3798:619:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4466:43:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4476:27:7", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4491:5:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4498:4:7", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4487:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4487:16:7" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4476:7:7" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4448:5:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4458:7:7", + "type": "" + } + ], + "src": "4423:86:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4576:51:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4593:3:7" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4614:5:7" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "4598:15:7" + }, + "nodeType": "YulFunctionCall", + "src": "4598:22:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4586:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "4586:35:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4586:35:7" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4564:5:7", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4571:3:7", + "type": "" + } + ], + "src": "4515:112:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4727:120:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4737:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4749:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4760:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4745:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4745:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4737:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4813:6:7" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4826:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4837:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4822:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4822:17:7" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "4773:39:7" + }, + "nodeType": "YulFunctionCall", + "src": "4773:67:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4773:67:7" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4699:9:7", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4711:6:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4722:4:7", + "type": "" + } + ], + "src": "4633:214:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4919:263:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4965:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4967:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "4967:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "4967:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4940:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4949:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4936:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4936:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4961:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4932:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "4932:32:7" + }, + "nodeType": "YulIf", + "src": "4929:119:7" + }, + { + "nodeType": "YulBlock", + "src": "5058:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5073:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5087:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5077:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5102:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5137:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5148:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5133:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5133:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5157:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5112:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "5112:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5102:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4889:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4900:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4912:6:7", + "type": "" + } + ], + "src": "4853:329:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5271:391:7", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5317:83:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5319:77:7" + }, + "nodeType": "YulFunctionCall", + "src": "5319:79:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5319:79:7" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5292:7:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5301:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5288:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5288:23:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5313:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5284:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5284:32:7" + }, + "nodeType": "YulIf", + "src": "5281:119:7" + }, + { + "nodeType": "YulBlock", + "src": "5410:117:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5425:15:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:7", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5429:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5454:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5489:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5500:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5485:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5485:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5509:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5464:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "5464:53:7" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5454:6:7" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5537:118:7", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5552:16:7", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5566:2:7", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5556:6:7", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5582:63:7", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5617:9:7" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5628:6:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5613:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5613:22:7" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5637:7:7" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5592:20:7" + }, + "nodeType": "YulFunctionCall", + "src": "5592:53:7" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5582:6:7" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5233:9:7", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5244:7:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5256:6:7", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5264:6:7", + "type": "" + } + ], + "src": "5188:474:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5696:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5713:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5716:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5706:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5706:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5706:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5810:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5813:4:7", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5803:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5803:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5803:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5834:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5837:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5827:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5827:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "5827:15:7" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "5668:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5905:269:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5915:22:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5929:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5935:1:7", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "5925:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5925:12:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5915:6:7" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5946:38:7", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5976:4:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5982:1:7", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5972:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "5972:12:7" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "5950:18:7", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6023:51:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6037:27:7", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6051:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6059:4:7", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6047:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6047:17:7" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6037:6:7" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "6003:18:7" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5996:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "5996:26:7" + }, + "nodeType": "YulIf", + "src": "5993:81:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6126:42:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "6140:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "6140:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6140:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "6090:18:7" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6113:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6121:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6110:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6110:14:7" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6087:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6087:38:7" + }, + "nodeType": "YulIf", + "src": "6084:84:7" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "5889:4:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5898:6:7", + "type": "" + } + ], + "src": "5854:320:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6208:152:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6225:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6228:77:7", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6218:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6218:88:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6218:88:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6322:1:7", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6325:4:7", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6315:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6315:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6315:15:7" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6346:1:7", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6349:4:7", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6339:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6339:15:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6339:15:7" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "6180:180:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6410:147:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6420:25:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6443:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6425:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "6425:20:7" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6420:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6454:25:7", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "6477:1:7" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6459:17:7" + }, + "nodeType": "YulFunctionCall", + "src": "6459:20:7" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "6454:1:7" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6488:16:7", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6499:1:7" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "6502:1:7" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6495:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6495:9:7" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6488:3:7" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6528:22:7", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6530:16:7" + }, + "nodeType": "YulFunctionCall", + "src": "6530:18:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6530:18:7" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "6520:1:7" + }, + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "6523:3:7" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6517:2:7" + }, + "nodeType": "YulFunctionCall", + "src": "6517:10:7" + }, + "nodeType": "YulIf", + "src": "6514:36:7" + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "6397:1:7", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "6400:1:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "6406:3:7", + "type": "" + } + ], + "src": "6366:191:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6669:118:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6691:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6699:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6687:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6687:14:7" + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", + "kind": "string", + "nodeType": "YulLiteral", + "src": "6703:34:7", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6680:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6680:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6680:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6759:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6767:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6755:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "6755:15:7" + }, + { + "hexValue": "207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "6772:7:7", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6748:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "6748:32:7" + }, + "nodeType": "YulExpressionStatement", + "src": "6748:32:7" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6661:6:7", + "type": "" + } + ], + "src": "6563:224:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6939:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6949:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7015:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7020:2:7", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6956:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "6956:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6949:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7121:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "7032:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "7032:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7032:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "7134:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7145:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7150:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7141:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7141:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7134:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6927:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6935:3:7", + "type": "" + } + ], + "src": "6793:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7336:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7346:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7358:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7369:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7354:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7354:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7346:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7393:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7404:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7389:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7389:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7412:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7418:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7408:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7408:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7382:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7382:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7382:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "7438:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7572:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7446:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "7446:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7438:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7316:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7331:4:7", + "type": "" + } + ], + "src": "7165:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7696:117:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7718:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7726:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7714:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7714:14:7" + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7730:34:7", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7707:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7707:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7707:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7786:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7794:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7782:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "7782:15:7" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "7799:6:7", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7775:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "7775:31:7" + }, + "nodeType": "YulExpressionStatement", + "src": "7775:31:7" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "7688:6:7", + "type": "" + } + ], + "src": "7590:223:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7965:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7975:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8041:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8046:2:7", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7982:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "7982:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7975:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8147:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "8058:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "8058:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8058:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "8160:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8171:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8176:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8167:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8167:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8160:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7953:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7961:3:7", + "type": "" + } + ], + "src": "7819:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8362:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8372:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8384:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8395:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8380:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8380:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8372:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8419:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8430:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8415:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8415:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8438:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8444:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8434:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8434:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8408:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8408:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8408:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "8464:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8598:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8472:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "8472:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8464:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8342:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8357:4:7", + "type": "" + } + ], + "src": "8191:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8722:115:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8744:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8752:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8740:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8740:14:7" + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8756:34:7", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8733:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8733:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8733:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8812:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8820:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8808:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "8808:15:7" + }, + { + "hexValue": "7373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8825:4:7", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8801:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "8801:29:7" + }, + "nodeType": "YulExpressionStatement", + "src": "8801:29:7" + } + ] + }, + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8714:6:7", + "type": "" + } + ], + "src": "8616:221:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8989:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8999:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9065:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9070:2:7", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9006:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "9006:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8999:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9171:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulIdentifier", + "src": "9082:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "9082:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9082:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "9184:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9195:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9200:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9191:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9191:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9184:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8977:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8985:3:7", + "type": "" + } + ], + "src": "8843:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9386:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9396:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9408:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9419:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9404:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9404:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9396:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9443:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9454:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9439:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9439:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9462:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9468:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9458:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9458:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9432:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9432:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9432:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "9488:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9622:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9496:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "9496:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9488:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9366:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9381:4:7", + "type": "" + } + ], + "src": "9215:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9746:73:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9768:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9776:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9764:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "9764:14:7" + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9780:31:7", + "type": "", + "value": "ERC20: insufficient allowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9757:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "9757:55:7" + }, + "nodeType": "YulExpressionStatement", + "src": "9757:55:7" + } + ] + }, + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "9738:6:7", + "type": "" + } + ], + "src": "9640:179:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9971:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9981:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10047:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10052:2:7", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9988:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "9988:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9981:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10153:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulIdentifier", + "src": "10064:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "10064:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10064:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "10166:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10177:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10182:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10173:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10173:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10166:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9959:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9967:3:7", + "type": "" + } + ], + "src": "9825:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10368:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10378:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10390:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10401:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10386:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10386:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10378:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10425:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10436:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10421:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10421:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10444:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10450:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10440:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10440:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10414:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10414:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10414:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "10470:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10604:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10478:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "10478:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10470:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10348:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10363:4:7", + "type": "" + } + ], + "src": "10197:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10728:118:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10750:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10758:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10746:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10746:14:7" + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10762:34:7", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10739:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10739:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10739:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10818:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10826:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10814:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "10814:15:7" + }, + { + "hexValue": "6472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10831:7:7", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10807:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "10807:32:7" + }, + "nodeType": "YulExpressionStatement", + "src": "10807:32:7" + } + ] + }, + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10720:6:7", + "type": "" + } + ], + "src": "10622:224:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10998:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11008:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11074:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11079:2:7", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11015:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "11015:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11008:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11180:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulIdentifier", + "src": "11091:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "11091:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11091:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "11193:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11204:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11209:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11200:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11200:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11193:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10986:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10994:3:7", + "type": "" + } + ], + "src": "10852:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11395:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11405:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11417:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11428:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11413:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11413:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11405:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11452:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11463:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11448:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11448:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11471:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11477:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11467:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11467:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11441:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "11441:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11441:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "11497:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11631:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11505:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "11505:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11497:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11375:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11390:4:7", + "type": "" + } + ], + "src": "11224:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11755:116:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11777:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11785:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11773:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11773:14:7" + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11789:34:7", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11766:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "11766:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11766:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11845:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11853:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11841:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "11841:15:7" + }, + { + "hexValue": "657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11858:5:7", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11834:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "11834:30:7" + }, + "nodeType": "YulExpressionStatement", + "src": "11834:30:7" + } + ] + }, + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11747:6:7", + "type": "" + } + ], + "src": "11649:222:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12023:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12033:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12099:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12104:2:7", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12040:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "12040:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12033:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12205:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulIdentifier", + "src": "12116:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "12116:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12116:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "12218:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12229:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12234:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12225:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12225:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12218:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12011:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12019:3:7", + "type": "" + } + ], + "src": "11877:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12420:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12430:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12442:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12453:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12438:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12438:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12430:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12477:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12488:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12473:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12473:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12496:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12502:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12492:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12492:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12466:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12466:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12466:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "12522:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12656:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12530:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "12530:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12522:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12400:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12415:4:7", + "type": "" + } + ], + "src": "12249:419:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12780:119:7", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12802:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12810:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12798:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12798:14:7" + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12814:34:7", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12791:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12791:58:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12791:58:7" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12870:6:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12878:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12866:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "12866:15:7" + }, + { + "hexValue": "616c616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12883:8:7", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12859:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "12859:33:7" + }, + "nodeType": "YulExpressionStatement", + "src": "12859:33:7" + } + ] + }, + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12772:6:7", + "type": "" + } + ], + "src": "12674:225:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13051:220:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13061:74:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13127:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13132:2:7", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13068:58:7" + }, + "nodeType": "YulFunctionCall", + "src": "13068:67:7" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13061:3:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13233:3:7" + } + ], + "functionName": { + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulIdentifier", + "src": "13144:88:7" + }, + "nodeType": "YulFunctionCall", + "src": "13144:93:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13144:93:7" + }, + { + "nodeType": "YulAssignment", + "src": "13246:19:7", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13257:3:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13262:2:7", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13253:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13253:12:7" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13246:3:7" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13039:3:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13047:3:7", + "type": "" + } + ], + "src": "12905:366:7" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13448:248:7", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13458:26:7", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13470:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13481:2:7", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13466:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13466:18:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13458:4:7" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13505:9:7" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13516:1:7", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13501:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13501:17:7" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13524:4:7" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13530:9:7" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13520:3:7" + }, + "nodeType": "YulFunctionCall", + "src": "13520:20:7" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13494:6:7" + }, + "nodeType": "YulFunctionCall", + "src": "13494:47:7" + }, + "nodeType": "YulExpressionStatement", + "src": "13494:47:7" + }, + { + "nodeType": "YulAssignment", + "src": "13550:139:7", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13684:4:7" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13558:124:7" + }, + "nodeType": "YulFunctionCall", + "src": "13558:131:7" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13550:4:7" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13428:9:7", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13443:4:7", + "type": "" + } + ], + "src": "13277:419:7" + } + ] + }, + "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n", + "id": 7, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "1401:11610:1:-:0;;;1976:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2050:5;2042;:13;;;;;;:::i;:::-;;2075:7;2065;:17;;;;;;:::i;:::-;;1976:113;;1401:11610;;7:75:7;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:246::-;1691:1;1701:113;1715:6;1712:1;1709:13;1701:113;;;1800:1;1795:3;1791:11;1785:18;1781:1;1776:3;1772:11;1765:39;1737:2;1734:1;1730:10;1725:15;;1701:113;;;1848:1;1839:6;1834:3;1830:16;1823:27;1672:184;1610:246;;;:::o;1862:434::-;1951:5;1976:66;1992:49;2034:6;1992:49;:::i;:::-;1976:66;:::i;:::-;1967:75;;2065:6;2058:5;2051:21;2103:4;2096:5;2092:16;2141:3;2132:6;2127:3;2123:16;2120:25;2117:112;;;2148:79;;:::i;:::-;2117:112;2238:52;2283:6;2278:3;2273;2238:52;:::i;:::-;1957:339;1862:434;;;;;:::o;2316:355::-;2383:5;2432:3;2425:4;2417:6;2413:17;2409:27;2399:122;;2440:79;;:::i;:::-;2399:122;2550:6;2544:13;2575:90;2661:3;2653:6;2646:4;2638:6;2634:17;2575:90;:::i;:::-;2566:99;;2389:282;2316:355;;;;:::o;2677:853::-;2776:6;2784;2833:2;2821:9;2812:7;2808:23;2804:32;2801:119;;;2839:79;;:::i;:::-;2801:119;2980:1;2969:9;2965:17;2959:24;3010:18;3002:6;2999:30;2996:117;;;3032:79;;:::i;:::-;2996:117;3137:74;3203:7;3194:6;3183:9;3179:22;3137:74;:::i;:::-;3127:84;;2930:291;3281:2;3270:9;3266:18;3260:25;3312:18;3304:6;3301:30;3298:117;;;3334:79;;:::i;:::-;3298:117;3439:74;3505:7;3496:6;3485:9;3481:22;3439:74;:::i;:::-;3429:84;;3231:292;2677:853;;;;;:::o;3536:99::-;3588:6;3622:5;3616:12;3606:22;;3536:99;;;:::o;3641:180::-;3689:77;3686:1;3679:88;3786:4;3783:1;3776:15;3810:4;3807:1;3800:15;3827:320;3871:6;3908:1;3902:4;3898:12;3888:22;;3955:1;3949:4;3945:12;3976:18;3966:81;;4032:4;4024:6;4020:17;4010:27;;3966:81;4094:2;4086:6;4083:14;4063:18;4060:38;4057:84;;4113:18;;:::i;:::-;4057:84;3878:269;3827:320;;;:::o;4153:141::-;4202:4;4225:3;4217:11;;4248:3;4245:1;4238:14;4282:4;4279:1;4269:18;4261:26;;4153:141;;;:::o;4300:93::-;4337:6;4384:2;4379;4372:5;4368:14;4364:23;4354:33;;4300:93;;;:::o;4399:107::-;4443:8;4493:5;4487:4;4483:16;4462:37;;4399:107;;;;:::o;4512:393::-;4581:6;4631:1;4619:10;4615:18;4654:97;4684:66;4673:9;4654:97;:::i;:::-;4772:39;4802:8;4791:9;4772:39;:::i;:::-;4760:51;;4844:4;4840:9;4833:5;4829:21;4820:30;;4893:4;4883:8;4879:19;4872:5;4869:30;4859:40;;4588:317;;4512:393;;;;;:::o;4911:77::-;4948:7;4977:5;4966:16;;4911:77;;;:::o;4994:60::-;5022:3;5043:5;5036:12;;4994:60;;;:::o;5060:142::-;5110:9;5143:53;5161:34;5170:24;5188:5;5170:24;:::i;:::-;5161:34;:::i;:::-;5143:53;:::i;:::-;5130:66;;5060:142;;;:::o;5208:75::-;5251:3;5272:5;5265:12;;5208:75;;;:::o;5289:269::-;5399:39;5430:7;5399:39;:::i;:::-;5460:91;5509:41;5533:16;5509:41;:::i;:::-;5501:6;5494:4;5488:11;5460:91;:::i;:::-;5454:4;5447:105;5365:193;5289:269;;;:::o;5564:73::-;5609:3;5564:73;:::o;5643:189::-;5720:32;;:::i;:::-;5761:65;5819:6;5811;5805:4;5761:65;:::i;:::-;5696:136;5643:189;;:::o;5838:186::-;5898:120;5915:3;5908:5;5905:14;5898:120;;;5969:39;6006:1;5999:5;5969:39;:::i;:::-;5942:1;5935:5;5931:13;5922:22;;5898:120;;;5838:186;;:::o;6030:543::-;6131:2;6126:3;6123:11;6120:446;;;6165:38;6197:5;6165:38;:::i;:::-;6249:29;6267:10;6249:29;:::i;:::-;6239:8;6235:44;6432:2;6420:10;6417:18;6414:49;;;6453:8;6438:23;;6414:49;6476:80;6532:22;6550:3;6532:22;:::i;:::-;6522:8;6518:37;6505:11;6476:80;:::i;:::-;6135:431;;6120:446;6030:543;;;:::o;6579:117::-;6633:8;6683:5;6677:4;6673:16;6652:37;;6579:117;;;;:::o;6702:169::-;6746:6;6779:51;6827:1;6823:6;6815:5;6812:1;6808:13;6779:51;:::i;:::-;6775:56;6860:4;6854;6850:15;6840:25;;6753:118;6702:169;;;;:::o;6876:295::-;6952:4;7098:29;7123:3;7117:4;7098:29;:::i;:::-;7090:37;;7160:3;7157:1;7153:11;7147:4;7144:21;7136:29;;6876:295;;;;:::o;7176:1395::-;7293:37;7326:3;7293:37;:::i;:::-;7395:18;7387:6;7384:30;7381:56;;;7417:18;;:::i;:::-;7381:56;7461:38;7493:4;7487:11;7461:38;:::i;:::-;7546:67;7606:6;7598;7592:4;7546:67;:::i;:::-;7640:1;7664:4;7651:17;;7696:2;7688:6;7685:14;7713:1;7708:618;;;;8370:1;8387:6;8384:77;;;8436:9;8431:3;8427:19;8421:26;8412:35;;8384:77;8487:67;8547:6;8540:5;8487:67;:::i;:::-;8481:4;8474:81;8343:222;7678:887;;7708:618;7760:4;7756:9;7748:6;7744:22;7794:37;7826:4;7794:37;:::i;:::-;7853:1;7867:208;7881:7;7878:1;7875:14;7867:208;;;7960:9;7955:3;7951:19;7945:26;7937:6;7930:42;8011:1;8003:6;7999:14;7989:24;;8058:2;8047:9;8043:18;8030:31;;7904:4;7901:1;7897:12;7892:17;;7867:208;;;8103:6;8094:7;8091:19;8088:179;;;8161:9;8156:3;8152:19;8146:26;8204:48;8246:4;8238:6;8234:17;8223:9;8204:48;:::i;:::-;8196:6;8189:64;8111:156;8088:179;8313:1;8309;8301:6;8297:14;8293:22;8287:4;8280:36;7715:611;;;7678:887;;7268:1303;;;7176:1395;;:::o;1401:11610:1:-;;;;;;;", + "deployedSourceMap": "1401:11610:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4431:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3242:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5190:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3091:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5871:234;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3406:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2365:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6592:427;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3727:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3974:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2154:98;2208:13;2240:5;2233:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2154:98;:::o;4431:197::-;4514:4;4530:13;4546:12;:10;:12::i;:::-;4530:28;;4568:32;4577:5;4584:7;4593:6;4568:8;:32::i;:::-;4617:4;4610:11;;;4431:197;;;;:::o;3242:106::-;3303:7;3329:12;;3322:19;;3242:106;:::o;5190:286::-;5317:4;5333:15;5351:12;:10;:12::i;:::-;5333:30;;5373:38;5389:4;5395:7;5404:6;5373:15;:38::i;:::-;5421:27;5431:4;5437:2;5441:6;5421:9;:27::i;:::-;5465:4;5458:11;;;5190:286;;;;;:::o;3091:91::-;3149:5;3173:2;3166:9;;3091:91;:::o;5871:234::-;5959:4;5975:13;5991:12;:10;:12::i;:::-;5975:28;;6013:64;6022:5;6029:7;6066:10;6038:25;6048:5;6055:7;6038:9;:25::i;:::-;:38;;;;:::i;:::-;6013:8;:64::i;:::-;6094:4;6087:11;;;5871:234;;;;:::o;3406:125::-;3480:7;3506:9;:18;3516:7;3506:18;;;;;;;;;;;;;;;;3499:25;;3406:125;;;:::o;2365:102::-;2421:13;2453:7;2446:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2365:102;:::o;6592:427::-;6685:4;6701:13;6717:12;:10;:12::i;:::-;6701:28;;6739:24;6766:25;6776:5;6783:7;6766:9;:25::i;:::-;6739:52;;6829:15;6809:16;:35;;6801:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:60;6929:5;6936:7;6964:15;6945:16;:34;6920:8;:60::i;:::-;7008:4;7001:11;;;;6592:427;;;;:::o;3727:189::-;3806:4;3822:13;3838:12;:10;:12::i;:::-;3822:28;;3860;3870:5;3877:2;3881:6;3860:9;:28::i;:::-;3905:4;3898:11;;;3727:189;;;;:::o;3974:149::-;4063:7;4089:11;:18;4101:5;4089:18;;;;;;;;;;;;;;;:27;4108:7;4089:27;;;;;;;;;;;;;;;;4082:34;;3974:149;;;;:::o;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;10504:370:1:-;10652:1;10635:19;;:5;:19;;;10627:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10732:1;10713:21;;:7;:21;;;10705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10814:6;10784:11;:18;10796:5;10784:18;;;;;;;;;;;;;;;:27;10803:7;10784:27;;;;;;;;;;;;;;;:36;;;;10851:7;10835:32;;10844:5;10835:32;;;10860:6;10835:32;;;;;;:::i;:::-;;;;;;;;10504:370;;;:::o;11155:441::-;11285:24;11312:25;11322:5;11329:7;11312:9;:25::i;:::-;11285:52;;11371:17;11351:16;:37;11347:243;;11432:6;11412:16;:26;;11404:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11514:51;11523:5;11530:7;11558:6;11539:16;:25;11514:8;:51::i;:::-;11347:243;11275:321;11155:441;;;:::o;7473:818::-;7615:1;7599:18;;:4;:18;;;7591:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7691:1;7677:16;;:2;:16;;;7669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7744:38;7765:4;7771:2;7775:6;7744:20;:38::i;:::-;7793:19;7815:9;:15;7825:4;7815:15;;;;;;;;;;;;;;;;7793:37;;7863:6;7848:11;:21;;7840:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7978:6;7964:11;:20;7946:9;:15;7956:4;7946:15;;;;;;;;;;;;;;;:38;;;;8178:6;8161:9;:13;8171:2;8161:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;8225:2;8210:26;;8219:4;8210:26;;;8229:6;8210:26;;;;;;:::i;:::-;;;;;;;;8247:37;8267:4;8273:2;8277:6;8247:19;:37::i;:::-;7581:710;7473:818;;;:::o;12180:121::-;;;;:::o;12889:120::-;;;;:::o;7:99:7:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:180::-;5716:77;5713:1;5706:88;5813:4;5810:1;5803:15;5837:4;5834:1;5827:15;5854:320;5898:6;5935:1;5929:4;5925:12;5915:22;;5982:1;5976:4;5972:12;6003:18;5993:81;;6059:4;6051:6;6047:17;6037:27;;5993:81;6121:2;6113:6;6110:14;6090:18;6087:38;6084:84;;6140:18;;:::i;:::-;6084:84;5905:269;5854:320;;;:::o;6180:180::-;6228:77;6225:1;6218:88;6325:4;6322:1;6315:15;6349:4;6346:1;6339:15;6366:191;6406:3;6425:20;6443:1;6425:20;:::i;:::-;6420:25;;6459:20;6477:1;6459:20;:::i;:::-;6454:25;;6502:1;6499;6495:9;6488:16;;6523:3;6520:1;6517:10;6514:36;;;6530:18;;:::i;:::-;6514:36;6366:191;;;;:::o;6563:224::-;6703:34;6699:1;6691:6;6687:14;6680:58;6772:7;6767:2;6759:6;6755:15;6748:32;6563:224;:::o;6793:366::-;6935:3;6956:67;7020:2;7015:3;6956:67;:::i;:::-;6949:74;;7032:93;7121:3;7032:93;:::i;:::-;7150:2;7145:3;7141:12;7134:19;;6793:366;;;:::o;7165:419::-;7331:4;7369:2;7358:9;7354:18;7346:26;;7418:9;7412:4;7408:20;7404:1;7393:9;7389:17;7382:47;7446:131;7572:4;7446:131;:::i;:::-;7438:139;;7165:419;;;:::o;7590:223::-;7730:34;7726:1;7718:6;7714:14;7707:58;7799:6;7794:2;7786:6;7782:15;7775:31;7590:223;:::o;7819:366::-;7961:3;7982:67;8046:2;8041:3;7982:67;:::i;:::-;7975:74;;8058:93;8147:3;8058:93;:::i;:::-;8176:2;8171:3;8167:12;8160:19;;7819:366;;;:::o;8191:419::-;8357:4;8395:2;8384:9;8380:18;8372:26;;8444:9;8438:4;8434:20;8430:1;8419:9;8415:17;8408:47;8472:131;8598:4;8472:131;:::i;:::-;8464:139;;8191:419;;;:::o;8616:221::-;8756:34;8752:1;8744:6;8740:14;8733:58;8825:4;8820:2;8812:6;8808:15;8801:29;8616:221;:::o;8843:366::-;8985:3;9006:67;9070:2;9065:3;9006:67;:::i;:::-;8999:74;;9082:93;9171:3;9082:93;:::i;:::-;9200:2;9195:3;9191:12;9184:19;;8843:366;;;:::o;9215:419::-;9381:4;9419:2;9408:9;9404:18;9396:26;;9468:9;9462:4;9458:20;9454:1;9443:9;9439:17;9432:47;9496:131;9622:4;9496:131;:::i;:::-;9488:139;;9215:419;;;:::o;9640:179::-;9780:31;9776:1;9768:6;9764:14;9757:55;9640:179;:::o;9825:366::-;9967:3;9988:67;10052:2;10047:3;9988:67;:::i;:::-;9981:74;;10064:93;10153:3;10064:93;:::i;:::-;10182:2;10177:3;10173:12;10166:19;;9825:366;;;:::o;10197:419::-;10363:4;10401:2;10390:9;10386:18;10378:26;;10450:9;10444:4;10440:20;10436:1;10425:9;10421:17;10414:47;10478:131;10604:4;10478:131;:::i;:::-;10470:139;;10197:419;;;:::o;10622:224::-;10762:34;10758:1;10750:6;10746:14;10739:58;10831:7;10826:2;10818:6;10814:15;10807:32;10622:224;:::o;10852:366::-;10994:3;11015:67;11079:2;11074:3;11015:67;:::i;:::-;11008:74;;11091:93;11180:3;11091:93;:::i;:::-;11209:2;11204:3;11200:12;11193:19;;10852:366;;;:::o;11224:419::-;11390:4;11428:2;11417:9;11413:18;11405:26;;11477:9;11471:4;11467:20;11463:1;11452:9;11448:17;11441:47;11505:131;11631:4;11505:131;:::i;:::-;11497:139;;11224:419;;;:::o;11649:222::-;11789:34;11785:1;11777:6;11773:14;11766:58;11858:5;11853:2;11845:6;11841:15;11834:30;11649:222;:::o;11877:366::-;12019:3;12040:67;12104:2;12099:3;12040:67;:::i;:::-;12033:74;;12116:93;12205:3;12116:93;:::i;:::-;12234:2;12229:3;12225:12;12218:19;;11877:366;;;:::o;12249:419::-;12415:4;12453:2;12442:9;12438:18;12430:26;;12502:9;12496:4;12492:20;12488:1;12477:9;12473:17;12466:47;12530:131;12656:4;12530:131;:::i;:::-;12522:139;;12249:419;;;:::o;12674:225::-;12814:34;12810:1;12802:6;12798:14;12791:58;12883:8;12878:2;12870:6;12866:15;12859:33;12674:225;:::o;12905:366::-;13047:3;13068:67;13132:2;13127:3;13068:67;:::i;:::-;13061:74;;13144:93;13233:3;13144:93;:::i;:::-;13262:2;13257:3;13253:12;13246:19;;12905:366;;;:::o;13277:419::-;13443:4;13481:2;13470:9;13466:18;13458:26;;13530:9;13524:4;13520:20;13516:1;13505:9;13501:17;13494:47;13558:131;13684:4;13558:131;:::i;:::-;13550:139;;13277:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, allowance(owner, spender) + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = allowance(owner, spender);\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by\n // decrementing then incrementing.\n _balances[to] += amount;\n }\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n unchecked {\n // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.\n _balances[account] += amount;\n }\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n // Overflow not possible: amount <= accountBalance <= totalSupply.\n _totalSupply -= amount;\n }\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n", + "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "Context": [ + 868 + ], + "ERC20": [ + 699 + ], + "IERC20": [ + 777 + ], + "IERC20Metadata": [ + 846 + ] + }, + "id": 700, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 114, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "105:23:1" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "id": 115, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 700, + "sourceUnit": 778, + "src": "130:22:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "id": 116, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 700, + "sourceUnit": 847, + "src": "153:41:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 117, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 700, + "sourceUnit": 869, + "src": "195:33:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 119, + "name": "Context", + "nameLocations": [ + "1419:7:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 868, + "src": "1419:7:1" + }, + "id": 120, + "nodeType": "InheritanceSpecifier", + "src": "1419:7:1" + }, + { + "baseName": { + "id": 121, + "name": "IERC20", + "nameLocations": [ + "1428:6:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 777, + "src": "1428:6:1" + }, + "id": 122, + "nodeType": "InheritanceSpecifier", + "src": "1428:6:1" + }, + { + "baseName": { + "id": 123, + "name": "IERC20Metadata", + "nameLocations": [ + "1436:14:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 846, + "src": "1436:14:1" + }, + "id": 124, + "nodeType": "InheritanceSpecifier", + "src": "1436:14:1" + } + ], + "canonicalName": "ERC20", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 118, + "nodeType": "StructuredDocumentation", + "src": "230:1170:1", + "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." + }, + "fullyImplemented": true, + "id": 699, + "linearizedBaseContracts": [ + 699, + 846, + 777, + 868 + ], + "name": "ERC20", + "nameLocation": "1410:5:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 128, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1493:9:1", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1457:45:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 127, + "keyType": { + "id": 125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1465:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1457:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 126, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1476:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1565:11:1", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1509:67:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 133, + "keyType": { + "id": 129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1517:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1509:47:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 132, + "keyType": { + "id": 130, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1536:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1528:27:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1547:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1599:12:1", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1583:28:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1583:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1633:5:1", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1618:20:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1618:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 140, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1659:7:1", + "nodeType": "VariableDeclaration", + "scope": 699, + "src": "1644:22:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 139, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1644:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 156, + "nodeType": "Block", + "src": "2032:57:1", + "statements": [ + { + "expression": { + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 148, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "2042:5:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 149, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "2050:5:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2042:13:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 151, + "nodeType": "ExpressionStatement", + "src": "2042:13:1" + }, + { + "expression": { + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 152, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2065:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 153, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 145, + "src": "2075:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2065:17:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 155, + "nodeType": "ExpressionStatement", + "src": "2065:17:1" + } + ] + }, + "documentation": { + "id": 141, + "nodeType": "StructuredDocumentation", + "src": "1673:298:1", + "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." + }, + "id": 157, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2002:5:1", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "1988:19:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 142, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1988:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 145, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2023:7:1", + "nodeType": "VariableDeclaration", + "scope": 157, + "src": "2009:21:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 144, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2009:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1987:44:1" + }, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [], + "src": "2032:0:1" + }, + "scope": 699, + "src": "1976:113:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 833 + ], + "body": { + "id": 166, + "nodeType": "Block", + "src": "2223:29:1", + "statements": [ + { + "expression": { + "id": 164, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "2240:5:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 163, + "id": 165, + "nodeType": "Return", + "src": "2233:12:1" + } + ] + }, + "documentation": { + "id": 158, + "nodeType": "StructuredDocumentation", + "src": "2095:54:1", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 167, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "2163:4:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 160, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2190:8:1" + }, + "parameters": { + "id": 159, + "nodeType": "ParameterList", + "parameters": [], + "src": "2167:2:1" + }, + "returnParameters": { + "id": 163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 167, + "src": "2208:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2208:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2207:15:1" + }, + "scope": 699, + "src": "2154:98:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 839 + ], + "body": { + "id": 176, + "nodeType": "Block", + "src": "2436:31:1", + "statements": [ + { + "expression": { + "id": 174, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "2453:7:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 173, + "id": 175, + "nodeType": "Return", + "src": "2446:14:1" + } + ] + }, + "documentation": { + "id": 168, + "nodeType": "StructuredDocumentation", + "src": "2258:102:1", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "id": 177, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "2374:6:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 170, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2403:8:1" + }, + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [], + "src": "2380:2:1" + }, + "returnParameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 172, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 177, + "src": "2421:13:1", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 171, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2421:6:1", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2420:15:1" + }, + "scope": 699, + "src": "2365:102:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 845 + ], + "body": { + "id": 186, + "nodeType": "Block", + "src": "3156:26:1", + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3173:2:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 183, + "id": 185, + "nodeType": "Return", + "src": "3166:9:1" + } + ] + }, + "documentation": { + "id": 178, + "nodeType": "StructuredDocumentation", + "src": "2473:613:1", + "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." + }, + "functionSelector": "313ce567", + "id": 187, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "3100:8:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 180, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3131:8:1" + }, + "parameters": { + "id": 179, + "nodeType": "ParameterList", + "parameters": [], + "src": "3108:2:1" + }, + "returnParameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 182, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 187, + "src": "3149:5:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 181, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3149:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "3148:7:1" + }, + "scope": 699, + "src": "3091:91:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 726 + ], + "body": { + "id": 196, + "nodeType": "Block", + "src": "3312:36:1", + "statements": [ + { + "expression": { + "id": 194, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "3329:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 193, + "id": 195, + "nodeType": "Return", + "src": "3322:19:1" + } + ] + }, + "documentation": { + "id": 188, + "nodeType": "StructuredDocumentation", + "src": "3188:49:1", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "id": 197, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "3251:11:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 190, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3285:8:1" + }, + "parameters": { + "id": 189, + "nodeType": "ParameterList", + "parameters": [], + "src": "3262:2:1" + }, + "returnParameters": { + "id": 193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 192, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 197, + "src": "3303:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3303:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3302:9:1" + }, + "scope": 699, + "src": "3242:106:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 734 + ], + "body": { + "id": 210, + "nodeType": "Block", + "src": "3489:42:1", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 206, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "3506:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 208, + "indexExpression": { + "id": 207, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 200, + "src": "3516:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3506:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 205, + "id": 209, + "nodeType": "Return", + "src": "3499:25:1" + } + ] + }, + "documentation": { + "id": 198, + "nodeType": "StructuredDocumentation", + "src": "3354:47:1", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 211, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3415:9:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 202, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3462:8:1" + }, + "parameters": { + "id": 201, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 200, + "mutability": "mutable", + "name": "account", + "nameLocation": "3433:7:1", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3425:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 199, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3425:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3424:17:1" + }, + "returnParameters": { + "id": 205, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3480:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 203, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3480:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3479:9:1" + }, + "scope": 699, + "src": "3406:125:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 744 + ], + "body": { + "id": 235, + "nodeType": "Block", + "src": "3812:104:1", + "statements": [ + { + "assignments": [ + 223 + ], + "declarations": [ + { + "constant": false, + "id": 223, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3830:5:1", + "nodeType": "VariableDeclaration", + "scope": 235, + "src": "3822:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 222, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3822:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 226, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 224, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "3838:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3838:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3822:28:1" + }, + { + "expression": { + "arguments": [ + { + "id": 228, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "3870:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 229, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "3877:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 230, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3881:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 227, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "3860:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3860:28:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 232, + "nodeType": "ExpressionStatement", + "src": "3860:28:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3905:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 221, + "id": 234, + "nodeType": "Return", + "src": "3898:11:1" + } + ] + }, + "documentation": { + "id": 212, + "nodeType": "StructuredDocumentation", + "src": "3537:185:1", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." + }, + "functionSelector": "a9059cbb", + "id": 236, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "3736:8:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 218, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3788:8:1" + }, + "parameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 214, + "mutability": "mutable", + "name": "to", + "nameLocation": "3753:2:1", + "nodeType": "VariableDeclaration", + "scope": 236, + "src": "3745:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 213, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3745:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 216, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3765:6:1", + "nodeType": "VariableDeclaration", + "scope": 236, + "src": "3757:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3757:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3744:28:1" + }, + "returnParameters": { + "id": 221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 220, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 236, + "src": "3806:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 219, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3806:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3805:6:1" + }, + "scope": 699, + "src": "3727:189:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 754 + ], + "body": { + "id": 253, + "nodeType": "Block", + "src": "4072:51:1", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 247, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "4089:11:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 249, + "indexExpression": { + "id": 248, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "4101:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4089:18:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 251, + "indexExpression": { + "id": 250, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "4108:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4089:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 246, + "id": 252, + "nodeType": "Return", + "src": "4082:34:1" + } + ] + }, + "documentation": { + "id": 237, + "nodeType": "StructuredDocumentation", + "src": "3922:47:1", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "id": 254, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3983:9:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 243, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4045:8:1" + }, + "parameters": { + "id": 242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 239, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4001:5:1", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "3993:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3993:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 241, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4016:7:1", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "4008:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4008:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3992:32:1" + }, + "returnParameters": { + "id": 246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 245, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "4063:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4063:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4062:9:1" + }, + "scope": 699, + "src": "3974:149:1", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 764 + ], + "body": { + "id": 278, + "nodeType": "Block", + "src": "4520:108:1", + "statements": [ + { + "assignments": [ + 266 + ], + "declarations": [ + { + "constant": false, + "id": 266, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4538:5:1", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "4530:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4530:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 269, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 267, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "4546:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4546:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4530:28:1" + }, + { + "expression": { + "arguments": [ + { + "id": 271, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 266, + "src": "4577:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 272, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 257, + "src": "4584:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 273, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 259, + "src": "4593:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 270, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "4568:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4568:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 275, + "nodeType": "ExpressionStatement", + "src": "4568:32:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4617:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 264, + "id": 277, + "nodeType": "Return", + "src": "4610:11:1" + } + ] + }, + "documentation": { + "id": 255, + "nodeType": "StructuredDocumentation", + "src": "4129:297:1", + "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "095ea7b3", + "id": 279, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4440:7:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 261, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4496:8:1" + }, + "parameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 257, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4456:7:1", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "4448:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 256, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4448:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4473:6:1", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "4465:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4465:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4447:33:1" + }, + "returnParameters": { + "id": 264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 263, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "4514:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 262, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4514:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4513:6:1" + }, + "scope": 699, + "src": "4431:197:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 776 + ], + "body": { + "id": 311, + "nodeType": "Block", + "src": "5323:153:1", + "statements": [ + { + "assignments": [ + 293 + ], + "declarations": [ + { + "constant": false, + "id": 293, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5341:7:1", + "nodeType": "VariableDeclaration", + "scope": 311, + "src": "5333:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5333:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 296, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 294, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "5351:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5351:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5333:30:1" + }, + { + "expression": { + "arguments": [ + { + "id": 298, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 282, + "src": "5389:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 299, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 293, + "src": "5395:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 300, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 286, + "src": "5404:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 297, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "5373:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5373:38:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 302, + "nodeType": "ExpressionStatement", + "src": "5373:38:1" + }, + { + "expression": { + "arguments": [ + { + "id": 304, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 282, + "src": "5431:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 305, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "5437:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 306, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 286, + "src": "5441:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 303, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 459, + "src": "5421:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5421:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 308, + "nodeType": "ExpressionStatement", + "src": "5421:27:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5465:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 291, + "id": 310, + "nodeType": "Return", + "src": "5458:11:1" + } + ] + }, + "documentation": { + "id": 280, + "nodeType": "StructuredDocumentation", + "src": "4634:551:1", + "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." + }, + "functionSelector": "23b872dd", + "id": 312, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "5199:12:1", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 288, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5299:8:1" + }, + "parameters": { + "id": 287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 282, + "mutability": "mutable", + "name": "from", + "nameLocation": "5229:4:1", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "5221:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5221:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 284, + "mutability": "mutable", + "name": "to", + "nameLocation": "5251:2:1", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "5243:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 283, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5243:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 286, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5271:6:1", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "5263:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 285, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5263:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5211:72:1" + }, + "returnParameters": { + "id": 291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 290, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 312, + "src": "5317:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 289, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5317:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5316:6:1" + }, + "scope": 699, + "src": "5190:286:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 340, + "nodeType": "Block", + "src": "5965:140:1", + "statements": [ + { + "assignments": [ + 323 + ], + "declarations": [ + { + "constant": false, + "id": 323, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5983:5:1", + "nodeType": "VariableDeclaration", + "scope": 340, + "src": "5975:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5975:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 326, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 324, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "5991:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5991:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5975:28:1" + }, + { + "expression": { + "arguments": [ + { + "id": 328, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "6022:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 329, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "6029:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 331, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 323, + "src": "6048:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 332, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 315, + "src": "6055:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 330, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "6038:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6038:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 334, + "name": "addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "6066:10:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6038:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 327, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "6013:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6013:64:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 337, + "nodeType": "ExpressionStatement", + "src": "6013:64:1" + }, + { + "expression": { + "hexValue": "74727565", + "id": 338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6094:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 321, + "id": 339, + "nodeType": "Return", + "src": "6087:11:1" + } + ] + }, + "documentation": { + "id": 313, + "nodeType": "StructuredDocumentation", + "src": "5482:384:1", + "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "39509351", + "id": 341, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseAllowance", + "nameLocation": "5880:17:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 315, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5906:7:1", + "nodeType": "VariableDeclaration", + "scope": 341, + "src": "5898:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 314, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5898:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 317, + "mutability": "mutable", + "name": "addedValue", + "nameLocation": "5923:10:1", + "nodeType": "VariableDeclaration", + "scope": 341, + "src": "5915:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5915:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5897:37:1" + }, + "returnParameters": { + "id": 321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 320, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 341, + "src": "5959:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 319, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5959:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5958:6:1" + }, + "scope": 699, + "src": "5871:234:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 381, + "nodeType": "Block", + "src": "6691:328:1", + "statements": [ + { + "assignments": [ + 352 + ], + "declarations": [ + { + "constant": false, + "id": 352, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6709:5:1", + "nodeType": "VariableDeclaration", + "scope": 381, + "src": "6701:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6701:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 355, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 353, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "6717:10:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6717:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6701:28:1" + }, + { + "assignments": [ + 357 + ], + "declarations": [ + { + "constant": false, + "id": 357, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "6747:16:1", + "nodeType": "VariableDeclaration", + "scope": 381, + "src": "6739:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 356, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6739:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 362, + "initialValue": { + "arguments": [ + { + "id": 359, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 352, + "src": "6776:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 360, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 344, + "src": "6783:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 358, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "6766:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6766:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6739:52:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 364, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "6809:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 365, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 346, + "src": "6829:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6809:35:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", + "id": 367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6846:39:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + }, + "value": "ERC20: decreased allowance below zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + } + ], + "id": 363, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "6801:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6801:85:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 369, + "nodeType": "ExpressionStatement", + "src": "6801:85:1" + }, + { + "id": 378, + "nodeType": "UncheckedBlock", + "src": "6896:95:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 371, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 352, + "src": "6929:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 372, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 344, + "src": "6936:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 373, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 357, + "src": "6945:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 374, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 346, + "src": "6964:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6945:34:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 370, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "6920:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6920:60:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 377, + "nodeType": "ExpressionStatement", + "src": "6920:60:1" + } + ] + }, + { + "expression": { + "hexValue": "74727565", + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7008:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 350, + "id": 380, + "nodeType": "Return", + "src": "7001:11:1" + } + ] + }, + "documentation": { + "id": 342, + "nodeType": "StructuredDocumentation", + "src": "6111:476:1", + "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." + }, + "functionSelector": "a457c2d7", + "id": 382, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseAllowance", + "nameLocation": "6601:17:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 344, + "mutability": "mutable", + "name": "spender", + "nameLocation": "6627:7:1", + "nodeType": "VariableDeclaration", + "scope": 382, + "src": "6619:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 343, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6619:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "subtractedValue", + "nameLocation": "6644:15:1", + "nodeType": "VariableDeclaration", + "scope": 382, + "src": "6636:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 345, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6636:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6618:42:1" + }, + "returnParameters": { + "id": 350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 349, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 382, + "src": "6685:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 348, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6685:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6684:6:1" + }, + "scope": 699, + "src": "6592:427:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 458, + "nodeType": "Block", + "src": "7581:710:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 393, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "7599:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7615:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7607:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 394, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7607:7:1", + "typeDescriptions": {} + } + }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7607:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7599:18:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", + "id": 399, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7619:39:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + }, + "value": "ERC20: transfer from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + } + ], + "id": 392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7591:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7591:68:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 401, + "nodeType": "ExpressionStatement", + "src": "7591:68:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 403, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "7677:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7691:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7683:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7683:7:1", + "typeDescriptions": {} + } + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7683:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7677:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7695:37:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + }, + "value": "ERC20: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + } + ], + "id": 402, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7669:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7669:64:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 411, + "nodeType": "ExpressionStatement", + "src": "7669:64:1" + }, + { + "expression": { + "arguments": [ + { + "id": 413, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "7765:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 414, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "7771:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 415, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "7775:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 412, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "7744:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7744:38:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 417, + "nodeType": "ExpressionStatement", + "src": "7744:38:1" + }, + { + "assignments": [ + 419 + ], + "declarations": [ + { + "constant": false, + "id": 419, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "7801:11:1", + "nodeType": "VariableDeclaration", + "scope": 458, + "src": "7793:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7793:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 423, + "initialValue": { + "baseExpression": { + "id": 420, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "7815:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 422, + "indexExpression": { + "id": 421, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "7825:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7815:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7793:37:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 425, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "7848:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 426, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "7863:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7848:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7871:40:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + }, + "value": "ERC20: transfer amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + } + ], + "id": 424, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "7840:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7840:72:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 430, + "nodeType": "ExpressionStatement", + "src": "7840:72:1" + }, + { + "id": 445, + "nodeType": "UncheckedBlock", + "src": "7922:273:1", + "statements": [ + { + "expression": { + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 431, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "7946:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 433, + "indexExpression": { + "id": 432, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "7956:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7946:15:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 434, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "7964:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 435, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "7978:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7964:20:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7946:38:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 438, + "nodeType": "ExpressionStatement", + "src": "7946:38:1" + }, + { + "expression": { + "id": 443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 439, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "8161:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 441, + "indexExpression": { + "id": 440, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "8171:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8161:13:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 442, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "8178:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8161:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 444, + "nodeType": "ExpressionStatement", + "src": "8161:23:1" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 447, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "8219:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 448, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "8225:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 449, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "8229:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 446, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "8210:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8210:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 451, + "nodeType": "EmitStatement", + "src": "8205:31:1" + }, + { + "expression": { + "arguments": [ + { + "id": 453, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 385, + "src": "8267:4:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 454, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "8273:2:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 455, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "8277:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 452, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 698, + "src": "8247:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8247:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 457, + "nodeType": "ExpressionStatement", + "src": "8247:37:1" + } + ] + }, + "documentation": { + "id": 383, + "nodeType": "StructuredDocumentation", + "src": "7025:443:1", + "text": " @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." + }, + "id": 459, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "7482:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 385, + "mutability": "mutable", + "name": "from", + "nameLocation": "7509:4:1", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "7501:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 384, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7501:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 387, + "mutability": "mutable", + "name": "to", + "nameLocation": "7531:2:1", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "7523:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7523:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7551:6:1", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "7543:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7543:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7491:72:1" + }, + "returnParameters": { + "id": 391, + "nodeType": "ParameterList", + "parameters": [], + "src": "7581:0:1" + }, + "scope": 699, + "src": "7473:818:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 515, + "nodeType": "Block", + "src": "8632:470:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 468, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "8650:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8669:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8661:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8661:7:1", + "typeDescriptions": {} + } + }, + "id": 472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8661:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8650:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "id": 474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8673:33:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + }, + "value": "ERC20: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + } + ], + "id": 467, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "8642:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8642:65:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 476, + "nodeType": "ExpressionStatement", + "src": "8642:65:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8747:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8739:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8739:7:1", + "typeDescriptions": {} + } + }, + "id": 481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8739:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 482, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "8751:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 483, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "8760:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 477, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "8718:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8718:49:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 485, + "nodeType": "ExpressionStatement", + "src": "8718:49:1" + }, + { + "expression": { + "id": 488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 486, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "8778:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 487, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "8794:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8778:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 489, + "nodeType": "ExpressionStatement", + "src": "8778:22:1" + }, + { + "id": 496, + "nodeType": "UncheckedBlock", + "src": "8810:175:1", + "statements": [ + { + "expression": { + "id": 494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 490, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "8946:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 492, + "indexExpression": { + "id": 491, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "8956:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8946:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 493, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "8968:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8946:28:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 495, + "nodeType": "ExpressionStatement", + "src": "8946:28:1" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9016:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9008:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 498, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9008:7:1", + "typeDescriptions": {} + } + }, + "id": 501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9008:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 502, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "9020:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 503, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "9029:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 497, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "8999:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8999:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 505, + "nodeType": "EmitStatement", + "src": "8994:42:1" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9075:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9067:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 507, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9067:7:1", + "typeDescriptions": {} + } + }, + "id": 510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9067:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 511, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "9079:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 512, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 464, + "src": "9088:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 506, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 698, + "src": "9047:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9047:48:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 514, + "nodeType": "ExpressionStatement", + "src": "9047:48:1" + } + ] + }, + "documentation": { + "id": 460, + "nodeType": "StructuredDocumentation", + "src": "8297:265:1", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." + }, + "id": 516, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "8576:5:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 462, + "mutability": "mutable", + "name": "account", + "nameLocation": "8590:7:1", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "8582:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8582:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 464, + "mutability": "mutable", + "name": "amount", + "nameLocation": "8607:6:1", + "nodeType": "VariableDeclaration", + "scope": 516, + "src": "8599:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8599:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8581:33:1" + }, + "returnParameters": { + "id": 466, + "nodeType": "ParameterList", + "parameters": [], + "src": "8632:0:1" + }, + "scope": 699, + "src": "8567:535:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 587, + "nodeType": "Block", + "src": "9487:594:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 525, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "9505:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9524:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9516:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 526, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9516:7:1", + "typeDescriptions": {} + } + }, + "id": 529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9516:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9505:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9528:35:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + }, + "value": "ERC20: burn from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + } + ], + "id": 524, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9497:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9497:67:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 533, + "nodeType": "ExpressionStatement", + "src": "9497:67:1" + }, + { + "expression": { + "arguments": [ + { + "id": 535, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "9596:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 538, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9613:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 537, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9605:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9605:7:1", + "typeDescriptions": {} + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9605:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 540, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "9617:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 534, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 687, + "src": "9575:20:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9575:49:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 542, + "nodeType": "ExpressionStatement", + "src": "9575:49:1" + }, + { + "assignments": [ + 544 + ], + "declarations": [ + { + "constant": false, + "id": 544, + "mutability": "mutable", + "name": "accountBalance", + "nameLocation": "9643:14:1", + "nodeType": "VariableDeclaration", + "scope": 587, + "src": "9635:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 543, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9635:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 548, + "initialValue": { + "baseExpression": { + "id": 545, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "9660:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 547, + "indexExpression": { + "id": 546, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "9670:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9660:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9635:43:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 550, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "9696:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 551, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "9714:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9696:24:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", + "id": 553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9722:36:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + }, + "value": "ERC20: burn amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + } + ], + "id": 549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "9688:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9688:71:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 555, + "nodeType": "ExpressionStatement", + "src": "9688:71:1" + }, + { + "id": 568, + "nodeType": "UncheckedBlock", + "src": "9769:194:1", + "statements": [ + { + "expression": { + "id": 562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 556, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "9793:9:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 558, + "indexExpression": { + "id": 557, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "9803:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9793:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 559, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 544, + "src": "9814:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 560, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "9831:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9814:23:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9793:44:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 563, + "nodeType": "ExpressionStatement", + "src": "9793:44:1" + }, + { + "expression": { + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 564, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "9930:12:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 565, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "9946:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9930:22:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 567, + "nodeType": "ExpressionStatement", + "src": "9930:22:1" + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 570, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "9987:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 573, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10004:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9996:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9996:7:1", + "typeDescriptions": {} + } + }, + "id": 574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9996:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 575, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "10008:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 569, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "9978:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9978:37:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 577, + "nodeType": "EmitStatement", + "src": "9973:42:1" + }, + { + "expression": { + "arguments": [ + { + "id": 579, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "10046:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10063:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10055:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10055:7:1", + "typeDescriptions": {} + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10055:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 584, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "10067:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 578, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 698, + "src": "10026:19:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10026:48:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 586, + "nodeType": "ExpressionStatement", + "src": "10026:48:1" + } + ] + }, + "documentation": { + "id": 517, + "nodeType": "StructuredDocumentation", + "src": "9108:309:1", + "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." + }, + "id": 588, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "9431:5:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 519, + "mutability": "mutable", + "name": "account", + "nameLocation": "9445:7:1", + "nodeType": "VariableDeclaration", + "scope": 588, + "src": "9437:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9437:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "mutability": "mutable", + "name": "amount", + "nameLocation": "9462:6:1", + "nodeType": "VariableDeclaration", + "scope": 588, + "src": "9454:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9454:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9436:33:1" + }, + "returnParameters": { + "id": 523, + "nodeType": "ParameterList", + "parameters": [], + "src": "9487:0:1" + }, + "scope": 699, + "src": "9422:659:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 632, + "nodeType": "Block", + "src": "10617:257:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 599, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 591, + "src": "10635:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10652:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10644:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 600, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10644:7:1", + "typeDescriptions": {} + } + }, + "id": 603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10644:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10635:19:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10656:38:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + }, + "value": "ERC20: approve from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + } + ], + "id": 598, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10627:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10627:68:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 607, + "nodeType": "ExpressionStatement", + "src": "10627:68:1" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 609, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "10713:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10732:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10724:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10724:7:1", + "typeDescriptions": {} + } + }, + "id": 613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10724:10:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10713:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", + "id": 615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10736:36:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + }, + "value": "ERC20: approve to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + } + ], + "id": 608, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "10705:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10705:68:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 617, + "nodeType": "ExpressionStatement", + "src": "10705:68:1" + }, + { + "expression": { + "id": 624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 618, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "10784:11:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 621, + "indexExpression": { + "id": 619, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 591, + "src": "10796:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10784:18:1", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 622, + "indexExpression": { + "id": 620, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "10803:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10784:27:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 623, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "10814:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10784:36:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 625, + "nodeType": "ExpressionStatement", + "src": "10784:36:1" + }, + { + "eventCall": { + "arguments": [ + { + "id": 627, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 591, + "src": "10844:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 628, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 593, + "src": "10851:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 629, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 595, + "src": "10860:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 626, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 720, + "src": "10835:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10835:32:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 631, + "nodeType": "EmitStatement", + "src": "10830:37:1" + } + ] + }, + "documentation": { + "id": 589, + "nodeType": "StructuredDocumentation", + "src": "10087:412:1", + "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address." + }, + "id": 633, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "10513:8:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 591, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10539:5:1", + "nodeType": "VariableDeclaration", + "scope": 633, + "src": "10531:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 590, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10531:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10562:7:1", + "nodeType": "VariableDeclaration", + "scope": 633, + "src": "10554:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10554:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 595, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10587:6:1", + "nodeType": "VariableDeclaration", + "scope": 633, + "src": "10579:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10579:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10521:78:1" + }, + "returnParameters": { + "id": 597, + "nodeType": "ParameterList", + "parameters": [], + "src": "10617:0:1" + }, + "scope": 699, + "src": "10504:370:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 675, + "nodeType": "Block", + "src": "11275:321:1", + "statements": [ + { + "assignments": [ + 644 + ], + "declarations": [ + { + "constant": false, + "id": 644, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "11293:16:1", + "nodeType": "VariableDeclaration", + "scope": 675, + "src": "11285:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11285:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 649, + "initialValue": { + "arguments": [ + { + "id": 646, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "11322:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 647, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "11329:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 645, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "11312:9:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11312:25:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11285:52:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 650, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "11351:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11376:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 652, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11376:7:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 651, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967269, + "src": "11371:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 654, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11371:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "11385:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "11371:17:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11351:37:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 674, + "nodeType": "IfStatement", + "src": "11347:243:1", + "trueBody": { + "id": 673, + "nodeType": "Block", + "src": "11390:200:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 658, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "11412:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 659, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "11432:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11412:26:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11440:31:1", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + }, + "value": "ERC20: insufficient allowance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + } + ], + "id": 657, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "11404:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11404:68:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 663, + "nodeType": "ExpressionStatement", + "src": "11404:68:1" + }, + { + "id": 672, + "nodeType": "UncheckedBlock", + "src": "11486:94:1", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 665, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 636, + "src": "11523:5:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 666, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 638, + "src": "11530:7:1", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 667, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 644, + "src": "11539:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 668, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "11558:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11539:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 664, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "11514:8:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11514:51:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 671, + "nodeType": "ExpressionStatement", + "src": "11514:51:1" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 634, + "nodeType": "StructuredDocumentation", + "src": "10880:270:1", + "text": " @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." + }, + "id": 676, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "11164:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "owner", + "nameLocation": "11197:5:1", + "nodeType": "VariableDeclaration", + "scope": 676, + "src": "11189:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11189:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 638, + "mutability": "mutable", + "name": "spender", + "nameLocation": "11220:7:1", + "nodeType": "VariableDeclaration", + "scope": 676, + "src": "11212:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11212:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11245:6:1", + "nodeType": "VariableDeclaration", + "scope": 676, + "src": "11237:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11237:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11179:78:1" + }, + "returnParameters": { + "id": 642, + "nodeType": "ParameterList", + "parameters": [], + "src": "11275:0:1" + }, + "scope": 699, + "src": "11155:441:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 686, + "nodeType": "Block", + "src": "12299:2:1", + "statements": [] + }, + "documentation": { + "id": 677, + "nodeType": "StructuredDocumentation", + "src": "11602:573:1", + "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 687, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "12189:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 684, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "from", + "nameLocation": "12227:4:1", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "12219:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12219:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 681, + "mutability": "mutable", + "name": "to", + "nameLocation": "12249:2:1", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "12241:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12241:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 683, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12269:6:1", + "nodeType": "VariableDeclaration", + "scope": 687, + "src": "12261:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 682, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12261:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12209:72:1" + }, + "returnParameters": { + "id": 685, + "nodeType": "ParameterList", + "parameters": [], + "src": "12299:0:1" + }, + "scope": 699, + "src": "12180:121:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 697, + "nodeType": "Block", + "src": "13007:2:1", + "statements": [] + }, + "documentation": { + "id": 688, + "nodeType": "StructuredDocumentation", + "src": "12307:577:1", + "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 698, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfer", + "nameLocation": "12898:19:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 690, + "mutability": "mutable", + "name": "from", + "nameLocation": "12935:4:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "12927:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12927:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 692, + "mutability": "mutable", + "name": "to", + "nameLocation": "12957:2:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "12949:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 691, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12949:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 694, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12977:6:1", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "12969:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 693, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12969:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12917:72:1" + }, + "returnParameters": { + "id": 696, + "nodeType": "ParameterList", + "parameters": [], + "src": "13007:0:1" + }, + "scope": 699, + "src": "12889:120:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 700, + "src": "1401:11610:1", + "usedErrors": [] + } + ], + "src": "105:12907:1" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.934Z", + "devdoc": { + "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "constructor": { + "details": "Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/ERC20Burnable.json b/build/contracts/ERC20Burnable.json new file mode 100644 index 0000000..caa6bba --- /dev/null +++ b/build/contracts/ERC20Burnable.json @@ -0,0 +1,924 @@ +{ + "contractName": "ERC20Burnable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x4ffc0547c02ad22925310c585c0f166f8759e2648a09e9b489100c42f15dd98d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15f52f51413a9de1ff191e2f6367c62178e1df7806d7880fe857a98b0b66253d\",\"dweb:/ipfs/QmaQG1fwfgUt5E9nu2cccFiV47B2V78MM1tCy1qB7n4MsH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../ERC20.sol\";\nimport \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n /**\n * @dev Destroys `amount` tokens from the caller.\n *\n * See {ERC20-_burn}.\n */\n function burn(uint256 amount) public virtual {\n _burn(_msgSender(), amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, deducting from the caller's\n * allowance.\n *\n * See {ERC20-_burn} and {ERC20-allowance}.\n *\n * Requirements:\n *\n * - the caller must have allowance for ``accounts``'s tokens of at least\n * `amount`.\n */\n function burnFrom(address account, uint256 amount) public virtual {\n _spendAllowance(account, _msgSender(), amount);\n _burn(account, amount);\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "exportedSymbols": { + "Context": [ + 868 + ], + "ERC20": [ + 699 + ], + "ERC20Burnable": [ + 821 + ], + "IERC20": [ + 777 + ], + "IERC20Metadata": [ + 846 + ] + }, + "id": 822, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 779, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "124:23:3" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "../ERC20.sol", + "id": 780, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 822, + "sourceUnit": 700, + "src": "149:22:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../../utils/Context.sol", + "id": 781, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 822, + "sourceUnit": 869, + "src": "172:36:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 783, + "name": "Context", + "nameLocations": [ + "454:7:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 868, + "src": "454:7:3" + }, + "id": 784, + "nodeType": "InheritanceSpecifier", + "src": "454:7:3" + }, + { + "baseName": { + "id": 785, + "name": "ERC20", + "nameLocations": [ + "463:5:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 699, + "src": "463:5:3" + }, + "id": 786, + "nodeType": "InheritanceSpecifier", + "src": "463:5:3" + } + ], + "canonicalName": "ERC20Burnable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 782, + "nodeType": "StructuredDocumentation", + "src": "210:208:3", + "text": " @dev Extension of {ERC20} that allows token holders to destroy both their own\n tokens and those that they have an allowance for, in a way that can be\n recognized off-chain (via event analysis)." + }, + "fullyImplemented": false, + "id": 821, + "linearizedBaseContracts": [ + 821, + 699, + 846, + 777, + 868 + ], + "name": "ERC20Burnable", + "nameLocation": "437:13:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 798, + "nodeType": "Block", + "src": "623:44:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 793, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "639:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "639:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 795, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 789, + "src": "653:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 792, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "633:5:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "633:27:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 797, + "nodeType": "ExpressionStatement", + "src": "633:27:3" + } + ] + }, + "documentation": { + "id": 787, + "nodeType": "StructuredDocumentation", + "src": "475:98:3", + "text": " @dev Destroys `amount` tokens from the caller.\n See {ERC20-_burn}." + }, + "functionSelector": "42966c68", + "id": 799, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "587:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 789, + "mutability": "mutable", + "name": "amount", + "nameLocation": "600:6:3", + "nodeType": "VariableDeclaration", + "scope": 799, + "src": "592:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 788, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "592:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "591:16:3" + }, + "returnParameters": { + "id": 791, + "nodeType": "ParameterList", + "parameters": [], + "src": "623:0:3" + }, + "scope": 821, + "src": "578:89:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 819, + "nodeType": "Block", + "src": "1039:95:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 808, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "1065:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 809, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "1074:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1074:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 811, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "1088:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 807, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "1049:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1049:46:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 813, + "nodeType": "ExpressionStatement", + "src": "1049:46:3" + }, + { + "expression": { + "arguments": [ + { + "id": 815, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "1111:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 816, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "1120:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 814, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "1105:5:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1105:22:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 818, + "nodeType": "ExpressionStatement", + "src": "1105:22:3" + } + ] + }, + "documentation": { + "id": 800, + "nodeType": "StructuredDocumentation", + "src": "673:295:3", + "text": " @dev Destroys `amount` tokens from `account`, deducting from the caller's\n allowance.\n See {ERC20-_burn} and {ERC20-allowance}.\n Requirements:\n - the caller must have allowance for ``accounts``'s tokens of at least\n `amount`." + }, + "functionSelector": "79cc6790", + "id": 820, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burnFrom", + "nameLocation": "982:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 802, + "mutability": "mutable", + "name": "account", + "nameLocation": "999:7:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "991:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "991:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 804, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1016:6:3", + "nodeType": "VariableDeclaration", + "scope": 820, + "src": "1008:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1008:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "990:33:3" + }, + "returnParameters": { + "id": 806, + "nodeType": "ParameterList", + "parameters": [], + "src": "1039:0:3" + }, + "scope": 821, + "src": "973:161:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 822, + "src": "419:717:3", + "usedErrors": [] + } + ], + "src": "124:1013:3" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.969Z", + "devdoc": { + "details": "Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).", + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "burn(uint256)": { + "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." + }, + "burnFrom(address,uint256)": { + "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/IERC20.json b/build/contracts/IERC20.json new file mode 100644 index 0000000..bdcf0b0 --- /dev/null +++ b/build/contracts/IERC20.json @@ -0,0 +1,1158 @@ +{ + "contractName": "IERC20", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n}\n", + "sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 777 + ] + }, + "id": 778, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 701, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "106:23:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC20", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 702, + "nodeType": "StructuredDocumentation", + "src": "131:70:2", + "text": " @dev Interface of the ERC20 standard as defined in the EIP." + }, + "fullyImplemented": false, + "id": 777, + "linearizedBaseContracts": [ + 777 + ], + "name": "IERC20", + "nameLocation": "212:6:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 703, + "nodeType": "StructuredDocumentation", + "src": "225:158:2", + "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 711, + "name": "Transfer", + "nameLocation": "394:8:2", + "nodeType": "EventDefinition", + "parameters": { + "id": 710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 705, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "419:4:2", + "nodeType": "VariableDeclaration", + "scope": 711, + "src": "403:20:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 704, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "403:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 707, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "441:2:2", + "nodeType": "VariableDeclaration", + "scope": 711, + "src": "425:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "425:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 709, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "453:5:2", + "nodeType": "VariableDeclaration", + "scope": 711, + "src": "445:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 708, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "445:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "402:57:2" + }, + "src": "388:72:2" + }, + { + "anonymous": false, + "documentation": { + "id": 712, + "nodeType": "StructuredDocumentation", + "src": "466:148:2", + "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 720, + "name": "Approval", + "nameLocation": "625:8:2", + "nodeType": "EventDefinition", + "parameters": { + "id": 719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 714, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "650:5:2", + "nodeType": "VariableDeclaration", + "scope": 720, + "src": "634:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 713, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "634:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 716, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "673:7:2", + "nodeType": "VariableDeclaration", + "scope": 720, + "src": "657:23:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 715, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "657:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 718, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "690:5:2", + "nodeType": "VariableDeclaration", + "scope": 720, + "src": "682:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 717, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "682:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "633:63:2" + }, + "src": "619:78:2" + }, + { + "documentation": { + "id": 721, + "nodeType": "StructuredDocumentation", + "src": "703:66:2", + "text": " @dev Returns the amount of tokens in existence." + }, + "functionSelector": "18160ddd", + "id": 726, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "783:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [], + "src": "794:2:2" + }, + "returnParameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 726, + "src": "820:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 723, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "820:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "819:9:2" + }, + "scope": 777, + "src": "774:55:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 727, + "nodeType": "StructuredDocumentation", + "src": "835:72:2", + "text": " @dev Returns the amount of tokens owned by `account`." + }, + "functionSelector": "70a08231", + "id": 734, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "921:9:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 730, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 729, + "mutability": "mutable", + "name": "account", + "nameLocation": "939:7:2", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "931:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "931:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "930:17:2" + }, + "returnParameters": { + "id": 733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 732, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 734, + "src": "971:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "971:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "970:9:2" + }, + "scope": 777, + "src": "912:68:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 735, + "nodeType": "StructuredDocumentation", + "src": "986:202:2", + "text": " @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "a9059cbb", + "id": 744, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "1202:8:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 737, + "mutability": "mutable", + "name": "to", + "nameLocation": "1219:2:2", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "1211:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 736, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1211:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 739, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1231:6:2", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "1223:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 738, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1223:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1210:28:2" + }, + "returnParameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 742, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "1257:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 741, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1257:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1256:6:2" + }, + "scope": 777, + "src": "1193:70:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 745, + "nodeType": "StructuredDocumentation", + "src": "1269:264:2", + "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." + }, + "functionSelector": "dd62ed3e", + "id": 754, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1547:9:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 747, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1565:5:2", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1557:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1557:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1580:7:2", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1572:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1572:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1556:32:2" + }, + "returnParameters": { + "id": 753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 752, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 754, + "src": "1612:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 751, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1612:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1611:9:2" + }, + "scope": 777, + "src": "1538:83:2", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 755, + "nodeType": "StructuredDocumentation", + "src": "1627:642:2", + "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 764, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "2283:7:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 757, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2299:7:2", + "nodeType": "VariableDeclaration", + "scope": 764, + "src": "2291:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2291:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 759, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2316:6:2", + "nodeType": "VariableDeclaration", + "scope": 764, + "src": "2308:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2308:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2290:33:2" + }, + "returnParameters": { + "id": 763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 762, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 764, + "src": "2342:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2342:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2341:6:2" + }, + "scope": 777, + "src": "2274:74:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 765, + "nodeType": "StructuredDocumentation", + "src": "2354:287:2", + "text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 776, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2655:12:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "mutability": "mutable", + "name": "from", + "nameLocation": "2685:4:2", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2677:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2677:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 769, + "mutability": "mutable", + "name": "to", + "nameLocation": "2707:2:2", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2699:10:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2699:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 771, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2727:6:2", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2719:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2719:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2667:72:2" + }, + "returnParameters": { + "id": 775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 774, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "2758:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 773, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2758:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2757:6:2" + }, + "scope": 777, + "src": "2646:118:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 778, + "src": "202:2564:2", + "usedErrors": [] + } + ], + "src": "106:2661:2" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.960Z", + "devdoc": { + "details": "Interface of the ERC20 standard as defined in the EIP.", + "events": { + "Approval(address,address,uint256)": { + "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance." + }, + "Transfer(address,address,uint256)": { + "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero." + } + }, + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." + }, + "approve(address,uint256)": { + "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the amount of tokens owned by `account`." + }, + "totalSupply()": { + "details": "Returns the amount of tokens in existence." + }, + "transfer(address,uint256)": { + "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." + }, + "transferFrom(address,address,uint256)": { + "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/IERC20Metadata.json b/build/contracts/IERC20Metadata.json new file mode 100644 index 0000000..efb7ffa --- /dev/null +++ b/build/contracts/IERC20Metadata.json @@ -0,0 +1,549 @@ +{ + "contractName": "IERC20Metadata", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n", + "sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "exportedSymbols": { + "IERC20": [ + 777 + ], + "IERC20Metadata": [ + 846 + ] + }, + "id": 847, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 823, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "110:23:4" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "../IERC20.sol", + "id": 824, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 847, + "sourceUnit": 778, + "src": "135:23:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 826, + "name": "IERC20", + "nameLocations": [ + "305:6:4" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 777, + "src": "305:6:4" + }, + "id": 827, + "nodeType": "InheritanceSpecifier", + "src": "305:6:4" + } + ], + "canonicalName": "IERC20Metadata", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 825, + "nodeType": "StructuredDocumentation", + "src": "160:116:4", + "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._" + }, + "fullyImplemented": false, + "id": 846, + "linearizedBaseContracts": [ + 846, + 777 + ], + "name": "IERC20Metadata", + "nameLocation": "287:14:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 828, + "nodeType": "StructuredDocumentation", + "src": "318:54:4", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 833, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "386:4:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 829, + "nodeType": "ParameterList", + "parameters": [], + "src": "390:2:4" + }, + "returnParameters": { + "id": 832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 831, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 833, + "src": "416:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 830, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "416:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "415:15:4" + }, + "scope": 846, + "src": "377:54:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 834, + "nodeType": "StructuredDocumentation", + "src": "437:56:4", + "text": " @dev Returns the symbol of the token." + }, + "functionSelector": "95d89b41", + "id": 839, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "507:6:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 835, + "nodeType": "ParameterList", + "parameters": [], + "src": "513:2:4" + }, + "returnParameters": { + "id": 838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 837, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 839, + "src": "539:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 836, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "539:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "538:15:4" + }, + "scope": 846, + "src": "498:56:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 840, + "nodeType": "StructuredDocumentation", + "src": "560:65:4", + "text": " @dev Returns the decimals places of the token." + }, + "functionSelector": "313ce567", + "id": 845, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "639:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 841, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:2:4" + }, + "returnParameters": { + "id": 844, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 843, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 845, + "src": "673:5:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 842, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "673:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "672:7:4" + }, + "scope": 846, + "src": "630:50:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 847, + "src": "277:405:4", + "usedErrors": [] + } + ], + "src": "110:573:4" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.971Z", + "devdoc": { + "details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._", + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called." + }, + "approve(address,uint256)": { + "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the amount of tokens owned by `account`." + }, + "decimals()": { + "details": "Returns the decimals places of the token." + }, + "name()": { + "details": "Returns the name of the token." + }, + "symbol()": { + "details": "Returns the symbol of the token." + }, + "totalSupply()": { + "details": "Returns the amount of tokens in existence." + }, + "transfer(address,uint256)": { + "details": "Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." + }, + "transferFrom(address,address,uint256)": { + "details": "Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json new file mode 100644 index 0000000..7ac2957 --- /dev/null +++ b/build/contracts/Ownable.json @@ -0,0 +1,1422 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}", + "bytecode": "0x", + "deployedBytecode": "0x", + "immutableReferences": {}, + "generatedSources": [], + "deployedGeneratedSources": [], + "sourceMap": "", + "deployedSourceMap": "", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n", + "sourcePath": "@openzeppelin/contracts/access/Ownable.sol", + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 868 + ], + "Ownable": [ + 112 + ] + }, + "id": 113, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "102:23:0" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 113, + "sourceUnit": 869, + "src": "127:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 4, + "name": "Context", + "nameLocations": [ + "683:7:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 868, + "src": "683:7:0" + }, + "id": 5, + "nodeType": "InheritanceSpecifier", + "src": "683:7:0" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3, + "nodeType": "StructuredDocumentation", + "src": "159:494:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 112, + "linearizedBaseContracts": [ + 112, + 868 + ], + "name": "Ownable", + "nameLocation": "672:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 7, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "713:6:0", + "nodeType": "VariableDeclaration", + "scope": 112, + "src": "697:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "697:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 13, + "name": "OwnershipTransferred", + "nameLocation": "732:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "769:13:0", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "753:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 11, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "800:8:0", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "784:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "784:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "752:57:0" + }, + "src": "726:84:0" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "926:49:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 18, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "955:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "955:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 17, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "936:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "936:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 21, + "nodeType": "ExpressionStatement", + "src": "936:32:0" + } + ] + }, + "documentation": { + "id": 14, + "nodeType": "StructuredDocumentation", + "src": "816:91:0", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 23, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 15, + "nodeType": "ParameterList", + "parameters": [], + "src": "923:2:0" + }, + "returnParameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "926:0:0" + }, + "scope": 112, + "src": "912:63:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 30, + "nodeType": "Block", + "src": "1084:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 26, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "1094:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 27, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1094:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28, + "nodeType": "ExpressionStatement", + "src": "1094:13:0" + }, + { + "id": 29, + "nodeType": "PlaceholderStatement", + "src": "1117:1:0" + } + ] + }, + "documentation": { + "id": 24, + "nodeType": "StructuredDocumentation", + "src": "981:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 31, + "name": "onlyOwner", + "nameLocation": "1072:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 25, + "nodeType": "ParameterList", + "parameters": [], + "src": "1081:2:0" + }, + "src": "1063:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 39, + "nodeType": "Block", + "src": "1256:30:0", + "statements": [ + { + "expression": { + "id": 37, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1273:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 36, + "id": 38, + "nodeType": "Return", + "src": "1266:13:0" + } + ] + }, + "documentation": { + "id": 32, + "nodeType": "StructuredDocumentation", + "src": "1131:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 40, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1210:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 33, + "nodeType": "ParameterList", + "parameters": [], + "src": "1215:2:0" + }, + "returnParameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 35, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 40, + "src": "1247:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1247:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1246:9:0" + }, + "scope": 112, + "src": "1201:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 53, + "nodeType": "Block", + "src": "1404:85:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 45, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1422:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1422:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 47, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "1433:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1433:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1422:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1447:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 44, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1414:68:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "1414:68:0" + } + ] + }, + "documentation": { + "id": 41, + "nodeType": "StructuredDocumentation", + "src": "1292:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 54, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "1368:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 42, + "nodeType": "ParameterList", + "parameters": [], + "src": "1379:2:0" + }, + "returnParameters": { + "id": 43, + "nodeType": "ParameterList", + "parameters": [], + "src": "1404:0:0" + }, + "scope": 112, + "src": "1359:130:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 67, + "nodeType": "Block", + "src": "1885:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 63, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1922:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1914:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 61, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1914:7:0", + "typeDescriptions": {} + } + }, + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1914:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 60, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "1895:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1895:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 66, + "nodeType": "ExpressionStatement", + "src": "1895:30:0" + } + ] + }, + "documentation": { + "id": 55, + "nodeType": "StructuredDocumentation", + "src": "1495:331:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 68, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 58, + "kind": "modifierInvocation", + "modifierName": { + "id": 57, + "name": "onlyOwner", + "nameLocations": [ + "1875:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "1875:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "1875:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "1840:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 56, + "nodeType": "ParameterList", + "parameters": [], + "src": "1857:2:0" + }, + "returnParameters": { + "id": 59, + "nodeType": "ParameterList", + "parameters": [], + "src": "1885:0:0" + }, + "scope": 112, + "src": "1831:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 90, + "nodeType": "Block", + "src": "2151:128:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 77, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "2169:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2189:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2181:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 78, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2181:7:0", + "typeDescriptions": {} + } + }, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2181:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2169:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2193:40:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 76, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2161:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2161:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 85, + "nodeType": "ExpressionStatement", + "src": "2161:73:0" + }, + { + "expression": { + "arguments": [ + { + "id": 87, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "2263:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 86, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 111, + "src": "2244:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2244:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 89, + "nodeType": "ExpressionStatement", + "src": "2244:28:0" + } + ] + }, + "documentation": { + "id": 69, + "nodeType": "StructuredDocumentation", + "src": "1938:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 91, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 74, + "kind": "modifierInvocation", + "modifierName": { + "id": 73, + "name": "onlyOwner", + "nameLocations": [ + "2141:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 31, + "src": "2141:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "2141:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "2090:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 72, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 71, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2116:8:0", + "nodeType": "VariableDeclaration", + "scope": 91, + "src": "2108:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 70, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2108:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2107:18:0" + }, + "returnParameters": { + "id": 75, + "nodeType": "ParameterList", + "parameters": [], + "src": "2151:0:0" + }, + "scope": 112, + "src": "2081:198:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 110, + "nodeType": "Block", + "src": "2496:124:0", + "statements": [ + { + "assignments": [ + 98 + ], + "declarations": [ + { + "constant": false, + "id": 98, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2514:8:0", + "nodeType": "VariableDeclaration", + "scope": 110, + "src": "2506:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 97, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2506:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 100, + "initialValue": { + "id": 99, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "2525:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2506:25:0" + }, + { + "expression": { + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 101, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "2541:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 102, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2550:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2541:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 104, + "nodeType": "ExpressionStatement", + "src": "2541:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 106, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "2594:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 107, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 94, + "src": "2604:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 105, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "2573:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2573:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 109, + "nodeType": "EmitStatement", + "src": "2568:45:0" + } + ] + }, + "documentation": { + "id": 92, + "nodeType": "StructuredDocumentation", + "src": "2285:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 111, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2442:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 95, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 94, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2469:8:0", + "nodeType": "VariableDeclaration", + "scope": 111, + "src": "2461:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 93, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2461:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2460:18:0" + }, + "returnParameters": { + "id": 96, + "nodeType": "ParameterList", + "parameters": [], + "src": "2496:0:0" + }, + "scope": 112, + "src": "2433:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 113, + "src": "654:1968:0", + "usedErrors": [] + } + ], + "src": "102:2521:0" + }, + "compiler": { + "name": "solc", + "version": "0.8.17+commit.8df45f5f.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.10", + "updatedAt": "2023-04-01T12:23:11.933Z", + "devdoc": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", + "kind": "dev", + "methods": { + "constructor": { + "details": "Initializes the contract setting the deployer as the initial owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/compiler_config.json b/compiler_config.json deleted file mode 100644 index 9026d3a..0000000 --- a/compiler_config.json +++ /dev/null @@ -1,16 +0,0 @@ - -{ - "language": "Solidity", - "settings": { - "optimizer": { - "enabled": true, - "runs": 200 - }, - "outputSelection": { - "*": { - "": ["ast"], - "*": ["abi", "metadata", "devdoc", "userdoc", "storageLayout", "evm.legacyAssembly", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "evm.gasEstimates", "evm.assembly"] - } - } - } -} diff --git a/contracts/.gitkeep b/contracts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/ChainGPT.sol b/contracts/ChainGPT.sol similarity index 78% rename from ChainGPT.sol rename to contracts/ChainGPT.sol index 1a6a1d9..fdec2af 100644 --- a/ChainGPT.sol +++ b/contracts/ChainGPT.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.8.9; +pragma solidity 0.8.19; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; @@ -7,6 +7,6 @@ import "@openzeppelin/contracts/access/Ownable.sol"; contract ChainGPT is ERC20, ERC20Burnable, Ownable { constructor() ERC20("ChainGPT", "CGPT") { - _mint(msg.sender, 1000000000 * 10 ** decimals()); + _mint(msg.sender, 1_000_000_000 * 10 ** decimals()); } -} +} \ No newline at end of file diff --git a/migrations/.gitkeep b/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/migrations/1_initial_migration.js b/migrations/1_initial_migration.js new file mode 100644 index 0000000..3fe5b4e --- /dev/null +++ b/migrations/1_initial_migration.js @@ -0,0 +1,12 @@ +//** Decubate Migration Script */ +//** Author Aceson : Decubate Vesting 2022.6 */ + +require("dotenv").config(); +const fs = require("fs"); +const ChainGPT = artifacts.require("ChainGPT"); + +module.exports = async function (deployer, network, accounts) { + + await deployer.deploy(ChainGPT); + +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..f4de847 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "dependencies": { + "@openzeppelin/contracts": "^4.8.2", + "@truffle/hdwallet-provider": "2.0.13", + "dotenv": "^16.0.3", + "truffle": "^5.8.1" + }, + "devDependencies": { + "ganache-cli": "^6.12.2", + "git-cz": "^4.9.0", + "prettier": "^2.7.1", + "prettier-plugin-solidity": "^1.0.0-dev.23", + "semantic-release": "^19.0.3", + "solidity-coverage": "^0.7.21", + "truffle-plugin-verify": "^0.5.27" +} +} diff --git a/readme.md b/readme.md index f3d3e6d..1d39029 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,12 @@ # CGPT Token Overview ChainGPT is backed by the $CGPT utility token, which is required to access various AI tools and products powered by ChainGPT. It's playing a significant role in the ecosystem of ChainGPT. +### Truffle +Truffle can be used to deploy the token contract. Set the correct vars in .env and run `truffle deploy --network testnet`. + +### Tests +Run tests with `truffle test`. + ### Security Audit Report - Certik: https://www.certik.com/projects/chaingpt diff --git a/test/.gitkeep b/test/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/truffle-config.js b/truffle-config.js new file mode 100644 index 0000000..0fbe7a1 --- /dev/null +++ b/truffle-config.js @@ -0,0 +1,158 @@ +/** + * Use this file to configure your truffle project. It's seeded with some + * common settings for different networks and features like migrations, + * compilation, and testing. Uncomment the ones you need or modify + * them to suit your project as necessary. + * + * More information about configuration can be found at: + * + * https://trufflesuite.com/docs/truffle/reference/configuration + * + * Hands-off deployment with Infura + * -------------------------------- + * + * Do you have a complex application that requires lots of transactions to deploy? + * Use this appproach to make deployment a breeze 🏖️: + * + * Infura deployment needs a wallet provider (like @truffle/hdwallet-provider) + * to sign transactions before they're sent to a remote public node. + * Infura accounts are available for free at 🔍: https://infura.io/register + * + * You'll need a mnemonic - the twelve word phrase the wallet uses to generate + * public/private key pairs. You can store your secrets 🤐 in a .env file. + * In your project root, run `$ npm install dotenv`. + * Create .env (which should be .gitignored) and declare your MNEMONIC + * and Infura PROJECT_ID variables inside. + * For example, your .env file will have the following structure: + * + * MNEMONIC = + * PROJECT_ID = + * + * Deployment with Truffle Dashboard (Recommended for best security practice) + * -------------------------------------------------------------------------- + * + * Are you concerned about security and minimizing rekt status 🤔? + * Use this method for best security: + * + * Truffle Dashboard lets you review transactions in detail, and leverages + * MetaMask for signing, so there's no need to copy-paste your mnemonic. + * More details can be found at 🔎: + * + * https://trufflesuite.com/docs/truffle/getting-started/using-the-truffle-dashboard/ + */ + + +const HDWalletProvider = require("@truffle/hdwallet-provider"); +require("dotenv").config(); + +const { MNEMONIC, TESTNET_ADDRESS, BSCSCAN } = + process.env; + +module.exports = { + /** + * Networks define how you connect to your ethereum client and let you set the + * defaults web3 uses to send transactions. If you don't specify one truffle + * will spin up a managed Ganache instance for you on port 9545 when you + * run `develop` or `test`. You can ask a truffle command to use a specific + * network from the command line, e.g + * + * $ truffle test --network + */ + + networks: { + // Useful for testing. The `development` name is special - truffle uses it by default + // if it's defined here and no other network is specified at the command line. + // You should run a client (like ganache, geth, or parity) in a separate terminal + // tab if you use this network and you must also set the `host`, `port` and `network_id` + // options below to some value. + // + development: { + host: "127.0.0.1", // Localhost (default: none) + port: 8545, // Standard Ethereum port (default: none) + network_id: "*", // Any network (default: none) + }, + // + // An additional network, but with some advanced options… + // advanced: { + // port: 8777, // Custom port + // network_id: 1342, // Custom network + // gas: 8500000, // Gas sent with each transaction (default: ~6700000) + // gasPrice: 20000000000, // 20 gwei (in wei) (default: 100 gwei) + // from:
, // Account to send transactions from (default: accounts[0]) + // websocket: true // Enable EventEmitter interface for web3 (default: false) + // }, + // + // Useful for deploying to a public network. + // Note: It's important to wrap the provider as a function to ensure truffle uses a new provider every time. + // goerli: { + // provider: () => new HDWalletProvider(MNEMONIC, `https://goerli.infura.io/v3/${PROJECT_ID}`), + // network_id: 5, // Goerli's id + // confirmations: 2, // # of confirmations to wait between deployments. (default: 0) + // timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50) + // skipDryRun: true // Skip dry run before migrations? (default: false for public nets ) + // }, + // + // Useful for private networks + // private: { + // provider: () => new HDWalletProvider(MNEMONIC, `https://network.io`), + // network_id: 2111, // This network is yours, in the cloud. + // production: true // Treats this network as if it was a public net. (default: false) + // } + testnet: { + provider: () => + new HDWalletProvider(MNEMONIC, "https://data-seed-prebsc-1-s1.binance.org:8545/"), + network_id: 97, + confirmations: 3, + timeoutBlocks: 200, + skipDryRun: true, + from: TESTNET_ADDRESS, + }, + }, + + // Set default mocha options here, use special reporters, etc. + mocha: { + // timeout: 100000 + }, + + // Configure your compilers + compilers: { + solc: { + version: "0.8.19", // Fetch exact version from solc-bin (default: truffle's version) + // docker: true, // Use "0.5.1" you've installed locally with docker (default: false) + settings: { + // See the solidity docs for advice about optimization and evmVersion + optimizer: { + enabled: true, + runs: 200, + }, + // evmVersion: "byzantium" + }, + }, + }, + + plugins: ["truffle-plugin-verify", "solidity-coverage"], + api_keys: { + bscscan: BSCSCAN, + }, + + // Truffle DB is currently disabled by default; to enable it, change enabled: + // false to enabled: true. The default storage location can also be + // overridden by specifying the adapter settings, as shown in the commented code below. + // + // NOTE: It is not possible to migrate your contracts to truffle DB and you should + // make a backup of your artifacts to a safe location before enabling this feature. + // + // After you backed up your artifacts you can utilize db by running migrate as follows: + // $ truffle migrate --reset --compile-all + // + // db: { + // enabled: false, + // host: "127.0.0.1", + // adapter: { + // name: "sqlite", + // settings: { + // directory: ".db" + // } + // } + // } +}; diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..a56c9fe --- /dev/null +++ b/yarn.lock @@ -0,0 +1,9864 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@apollo/protobufjs@1.2.6": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.6.tgz#d601e65211e06ae1432bf5993a1a0105f2862f27" + integrity sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + "@types/node" "^10.1.0" + long "^4.0.0" + +"@apollo/protobufjs@1.2.7": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" + integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + long "^4.0.0" + +"@apollo/usage-reporting-protobuf@^4.0.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.0.tgz#b54b8c32702bbe81aa0e399076ddabaf75a13f9b" + integrity sha512-hXouMuw5pQVkzi8dgMybmr6Y11+eRmMQVoB5TF0HyTwAg9SOq/v3OCuiYqcVUKdBcskU9Msp+XvjAk0GKpWCwQ== + dependencies: + "@apollo/protobufjs" "1.2.7" + +"@apollo/utils.dropunuseddefinitions@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz#02b04006442eaf037f4c4624146b12775d70d929" + integrity sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg== + +"@apollo/utils.keyvaluecache@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz#2bfe358c4d82f3a0950518451996758c52613f57" + integrity sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg== + dependencies: + "@apollo/utils.logger" "^1.0.0" + lru-cache "7.10.1 - 7.13.1" + +"@apollo/utils.logger@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-1.0.1.tgz#aea0d1bb7ceb237f506c6bbf38f10a555b99a695" + integrity sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA== + +"@apollo/utils.printwithreducedwhitespace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz#c466299a4766eef8577a2a64c8f27712e8bd7e30" + integrity sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q== + +"@apollo/utils.removealiases@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz#75f6d83098af1fcae2d3beb4f515ad4a8452a8c1" + integrity sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A== + +"@apollo/utils.sortast@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz#93218c7008daf3e2a0725196085a33f5aab5ad07" + integrity sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA== + dependencies: + lodash.sortby "^4.7.0" + +"@apollo/utils.stripsensitiveliterals@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz#4920651f36beee8e260e12031a0c5863ad0c7b28" + integrity sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w== + +"@apollo/utils.usagereporting@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz#3c70b49e554771659576fe35381c7a4b321d27fd" + integrity sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ== + dependencies: + "@apollo/usage-reporting-protobuf" "^4.0.0" + "@apollo/utils.dropunuseddefinitions" "^1.1.0" + "@apollo/utils.printwithreducedwhitespace" "^1.1.0" + "@apollo/utils.removealiases" "1.0.0" + "@apollo/utils.sortast" "^1.1.0" + "@apollo/utils.stripsensitiveliterals" "^1.2.0" + +"@apollographql/apollo-tools@^0.5.3": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz#cb3998c6cf12e494b90c733f44dd9935e2d8196c" + integrity sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw== + +"@apollographql/graphql-playground-html@1.6.29": + version "1.6.29" + resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz#a7a646614a255f62e10dcf64a7f68ead41dec453" + integrity sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA== + dependencies: + xss "^1.0.8" + +"@babel/code-frame@^7.0.0": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" + integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== + +"@babel/helper-compilation-targets@^7.17.7": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" + integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== + dependencies: + "@babel/compat-data" "^7.21.4" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-module-imports@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== + dependencies: + "@babel/types" "^7.21.4" + +"@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/plugin-transform-runtime@^7.5.5": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz#2e1da21ca597a7d01fc96b699b21d8d2023191aa" + integrity sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA== + dependencies: + "@babel/helper-module-imports" "^7.21.4" + "@babel/helper-plugin-utils" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + semver "^6.3.0" + +"@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.9.2": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/types@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" + integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@ethereumjs/common@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" + integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.1" + +"@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.4": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" + +"@ethereumjs/tx@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" + integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== + dependencies: + "@ethereumjs/common" "^2.5.0" + ethereumjs-util "^7.1.2" + +"@ethereumjs/tx@^3.3.0", "@ethereumjs/tx@^3.3.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" + integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== + dependencies: + "@ethereumjs/common" "^2.6.4" + ethereumjs-util "^7.1.5" + +"@ethersproject/abi@^5.6.3": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@graphql-tools/batch-execute@8.5.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.1.tgz#fa3321d58c64041650be44250b1ebc3aab0ba7a9" + integrity sha512-hRVDduX0UDEneVyEWtc2nu5H2PxpfSfM/riUlgZvo/a/nG475uyehxR5cFGvTEPEQUKY3vGIlqvtRigzqTfCew== + dependencies: + "@graphql-tools/utils" "8.9.0" + dataloader "2.1.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/delegate@^8.4.3": + version "8.8.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.8.1.tgz#0653a72f38947f38ab7917dfac50ebf6a6b883e9" + integrity sha512-NDcg3GEQmdEHlnF7QS8b4lM1PSF+DKeFcIlLEfZFBvVq84791UtJcDj8734sIHLukmyuAxXMfA1qLd2l4lZqzA== + dependencies: + "@graphql-tools/batch-execute" "8.5.1" + "@graphql-tools/schema" "8.5.1" + "@graphql-tools/utils" "8.9.0" + dataloader "2.1.0" + tslib "~2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/merge@8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" + integrity sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg== + dependencies: + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + +"@graphql-tools/merge@8.4.0": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.0.tgz#47fbe5c4b6764276dc35bd19c4e7d3c46d3dc0fc" + integrity sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA== + dependencies: + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + +"@graphql-tools/mock@^8.1.2": + version "8.7.19" + resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.7.19.tgz#b6c01ecc44074a01d6f472213de5f56fe0a3380c" + integrity sha512-LT2boYM+Y1vGFEhzmC7xDFRL8RPG20FbNcuk2/hHGH0Kh8K1hkItvL89tul3Pl7N6xerOnDZ3c3fx7Ls5GuFxA== + dependencies: + "@graphql-tools/schema" "9.0.17" + "@graphql-tools/utils" "9.2.1" + fast-json-stable-stringify "^2.1.0" + tslib "^2.4.0" + +"@graphql-tools/schema@8.5.1", "@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.3.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" + integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== + dependencies: + "@graphql-tools/merge" "8.3.1" + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/schema@9.0.17": + version "9.0.17" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.17.tgz#d731e9899465f88d5b9bf69e607ec465bb88b062" + integrity sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng== + dependencies: + "@graphql-tools/merge" "8.4.0" + "@graphql-tools/utils" "9.2.1" + tslib "^2.4.0" + value-or-promise "1.0.12" + +"@graphql-tools/utils@8.9.0": + version "8.9.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" + integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/utils@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" + integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + tslib "^2.4.0" + +"@graphql-typed-document-node/core@^3.1.1": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" + integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== + +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + +"@josephg/resolvable@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" + integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== + +"@metamask/eth-sig-util@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" + integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== + dependencies: + ethereumjs-abi "^0.6.8" + ethereumjs-util "^6.2.1" + ethjs-util "^0.1.6" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + +"@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@noble/hashes@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" + integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== + +"@noble/hashes@~1.1.1": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.5.tgz#1a0377f3b9020efe2fae03290bd2a12140c95c11" + integrity sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ== + +"@noble/secp256k1@1.6.3", "@noble/secp256k1@~1.6.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" + integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/arborist@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" + integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/metavuln-calculator" "^3.0.1" + "@npmcli/move-file" "^2.0.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/package-json" "^2.0.0" + "@npmcli/query" "^1.2.0" + "@npmcli/run-script" "^4.1.3" + bin-links "^3.0.3" + cacache "^16.1.3" + common-ancestor-path "^1.0.1" + hosted-git-info "^5.2.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + minimatch "^5.1.0" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + nopt "^6.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.0" + npm-pick-manifest "^7.0.2" + npm-registry-fetch "^13.0.0" + npmlog "^6.0.2" + pacote "^13.6.1" + parse-conflict-json "^2.0.1" + proc-log "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.0" + treeverse "^2.0.0" + walk-up-path "^1.0.0" + +"@npmcli/ci-detect@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" + integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== + +"@npmcli/config@^4.2.1": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" + integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== + dependencies: + "@npmcli/map-workspaces" "^2.0.2" + ini "^3.0.0" + mkdirp-infer-owner "^2.0.0" + nopt "^6.0.0" + proc-log "^2.0.0" + read-package-json-fast "^2.0.3" + semver "^7.3.5" + walk-up-path "^1.0.0" + +"@npmcli/disparity-colors@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" + integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== + dependencies: + ansi-styles "^4.3.0" + +"@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/git@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== + dependencies: + "@npmcli/promise-spawn" "^3.0.0" + lru-cache "^7.4.4" + mkdirp "^1.0.4" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +"@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" + +"@npmcli/metavuln-calculator@^3.0.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== + dependencies: + cacache "^16.0.0" + json-parse-even-better-errors "^2.3.1" + pacote "^13.0.3" + semver "^7.3.5" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + +"@npmcli/node-gyp@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== + +"@npmcli/package-json@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== + dependencies: + json-parse-even-better-errors "^2.3.1" + +"@npmcli/promise-spawn@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/query@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" + integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== + dependencies: + npm-package-arg "^9.1.0" + postcss-selector-parser "^6.0.10" + semver "^7.3.7" + +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== + dependencies: + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^2.0.3" + which "^2.0.2" + +"@octokit/auth-token@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c" + integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA== + dependencies: + "@octokit/types" "^9.0.0" + +"@octokit/core@^4.1.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.0.tgz#8c253ba9605aca605bc46187c34fcccae6a96648" + integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg== + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^7.0.0": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.5.tgz#2bb2a911c12c50f10014183f5d596ce30ac67dd1" + integrity sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA== + dependencies: + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2" + integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^16.0.0": + version "16.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e" + integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== + +"@octokit/plugin-paginate-rest@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz#f34b5a7d9416019126042cd7d7b811e006c0d561" + integrity sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw== + dependencies: + "@octokit/types" "^9.0.0" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-rest-endpoint-methods@^7.0.0": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz#f7ebe18144fd89460f98f35a587b056646e84502" + integrity sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.3.1" + +"@octokit/request-error@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" + integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0": + version "6.2.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.3.tgz#76d5d6d44da5c8d406620a4c285d280ae310bdb4" + integrity sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA== + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/rest@^19.0.0": + version "19.0.7" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.7.tgz#d2e21b4995ab96ae5bfae50b4969da7e04e0bb70" + integrity sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA== + dependencies: + "@octokit/core" "^4.1.0" + "@octokit/plugin-paginate-rest" "^6.0.0" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^7.0.0" + +"@octokit/types@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635" + integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw== + dependencies: + "@octokit/openapi-types" "^16.0.0" + +"@openzeppelin/contracts@^4.8.2": + version "4.8.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.8.2.tgz#d815ade0027b50beb9bcca67143c6bcc3e3923d6" + integrity sha512-kEUOgPQszC0fSYWpbh2kT94ltOJwj1qfT2DWo+zVttmGmf97JZ99LspePNaeeaLhCImaHVeBbjaQFZQn7+Zc5g== + +"@pnpm/config.env-replace@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.0.0.tgz#c76fa65847c9554e88d910f264c2ba9a1575e833" + integrity sha512-ZVPVDi1E8oeXlYqkGRtX0CkzLTwE2zt62bjWaWKaAvI8NZqHzlMvGeSNDpW+JB3+aKanYb4UETJOF1/CxGPemA== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.1.0.tgz#1bbecd961a1ea447f209556728e2dcadddb0bca6" + integrity sha512-Oe6ntvgsMTE3hDIqy6sajqHF+MnzJrOF06qC2QSiUEybLL7cp6tjoKUa32gpd9+KPVl4QyMs3E3nsXrx/Vdnlw== + dependencies: + "@pnpm/config.env-replace" "^1.0.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + +"@redux-saga/core@^1.0.0": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.2.3.tgz#882ed9ac58b5f42c6abb23349542315b871de305" + integrity sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA== + dependencies: + "@babel/runtime" "^7.6.3" + "@redux-saga/deferred" "^1.2.1" + "@redux-saga/delay-p" "^1.2.1" + "@redux-saga/is" "^1.1.3" + "@redux-saga/symbols" "^1.1.3" + "@redux-saga/types" "^1.2.1" + redux "^4.0.4" + typescript-tuple "^2.2.1" + +"@redux-saga/deferred@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.2.1.tgz#aca373a08ccafd6f3481037f2f7ee97f2c87c3ec" + integrity sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g== + +"@redux-saga/delay-p@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.2.1.tgz#e72ac4731c5080a21f75b61bedc31cb639d9e446" + integrity sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w== + dependencies: + "@redux-saga/symbols" "^1.1.3" + +"@redux-saga/is@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.1.3.tgz#b333f31967e87e32b4e6b02c75b78d609dd4ad73" + integrity sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q== + dependencies: + "@redux-saga/symbols" "^1.1.3" + "@redux-saga/types" "^1.2.1" + +"@redux-saga/symbols@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.1.3.tgz#b731d56201719e96dc887dc3ae9016e761654367" + integrity sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg== + +"@redux-saga/types@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.2.1.tgz#9403f51c17cae37edf870c6bc0c81c1ece5ccef8" + integrity sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA== + +"@scure/base@~1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== + +"@scure/bip32@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.0.tgz#dea45875e7fbc720c2b4560325f1cf5d2246d95b" + integrity sha512-ftTW3kKX54YXLCxH6BB7oEEoJfoE2pIgw7MINKAs5PsS6nqKPuKk1haTF/EuHmYqG330t5GSrdmtRuHaY1a62Q== + dependencies: + "@noble/hashes" "~1.1.1" + "@noble/secp256k1" "~1.6.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a" + integrity sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w== + dependencies: + "@noble/hashes" "~1.1.1" + "@scure/base" "~1.1.0" + +"@semantic-release/commit-analyzer@^9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz#a78e54f9834193b55f1073fa6258eecc9a545e03" + integrity sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g== + dependencies: + conventional-changelog-angular "^5.0.0" + conventional-commits-filter "^2.0.0" + conventional-commits-parser "^3.2.3" + debug "^4.0.0" + import-from "^4.0.0" + lodash "^4.17.4" + micromatch "^4.0.2" + +"@semantic-release/error@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-3.0.0.tgz#30a3b97bbb5844d695eb22f9d3aa40f6a92770c2" + integrity sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw== + +"@semantic-release/github@^8.0.0": + version "8.0.7" + resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-8.0.7.tgz#643aee7a5cdd2acd3ae643bb90ad4ac796901de6" + integrity sha512-VtgicRIKGvmTHwm//iqTh/5NGQwsncOMR5vQK9pMT92Aem7dv37JFKKRuulUsAnUOIlO4G8wH3gPiBAA0iW0ww== + dependencies: + "@octokit/rest" "^19.0.0" + "@semantic-release/error" "^3.0.0" + aggregate-error "^3.0.0" + bottleneck "^2.18.1" + debug "^4.0.0" + dir-glob "^3.0.0" + fs-extra "^11.0.0" + globby "^11.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + issue-parser "^6.0.0" + lodash "^4.17.4" + mime "^3.0.0" + p-filter "^2.0.0" + p-retry "^4.0.0" + url-join "^4.0.0" + +"@semantic-release/npm@^9.0.0": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-9.0.2.tgz#0f0903b4df6e93ef237372146bc376087fed4e1d" + integrity sha512-zgsynF6McdzxPnFet+a4iO9HpAlARXOM5adz7VGVCvj0ne8wtL2ZOQoDV2wZPDmdEotDIbVeJjafhelZjs9j6g== + dependencies: + "@semantic-release/error" "^3.0.0" + aggregate-error "^3.0.0" + execa "^5.0.0" + fs-extra "^11.0.0" + lodash "^4.17.15" + nerf-dart "^1.0.0" + normalize-url "^6.0.0" + npm "^8.3.0" + rc "^1.2.8" + read-pkg "^5.0.0" + registry-auth-token "^5.0.0" + semver "^7.1.2" + tempy "^1.0.0" + +"@semantic-release/release-notes-generator@^10.0.0": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@semantic-release/release-notes-generator/-/release-notes-generator-10.0.3.tgz#85f7ca78bfa6b01fb5fda0ac48112855d69171dc" + integrity sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w== + dependencies: + conventional-changelog-angular "^5.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-filter "^2.0.0" + conventional-commits-parser "^3.2.3" + debug "^4.0.0" + get-stream "^6.0.0" + import-from "^4.0.0" + into-stream "^6.0.0" + lodash "^4.17.4" + read-pkg-up "^7.0.0" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@solidity-parser/parser@^0.14.0": + version "0.14.5" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" + integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@solidity-parser/parser@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.0.tgz#1fb418c816ca1fc3a1e94b08bcfe623ec4e1add4" + integrity sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@truffle/abi-utils@^0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.3.9.tgz#c476f5cfe01072b513b3e93fd7bea05cf7bd9d96" + integrity sha512-G5dqgwRHx5zwlXjz3QT8OJVfB2cOqWwD6DwKso0KttUt/zejhCjnkKq72rSgyeLMkz7wBB9ERLOsupLBILM8MA== + dependencies: + change-case "3.0.2" + fast-check "3.1.1" + web3-utils "1.8.2" + +"@truffle/code-utils@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@truffle/code-utils/-/code-utils-3.0.2.tgz#603b0662a1fc27d24a92aaf66417559a3f3e3915" + integrity sha512-Q4FyYIX9G4GyMa8RJDk19kvgiyGZ1CGEx2RmVcXoCDZqEyiHLzqjvCRp+/fuBz2fv7szO6d+60LO1gLCGS1drQ== + dependencies: + cbor "^5.2.0" + +"@truffle/codec@^0.14.16": + version "0.14.16" + resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.14.16.tgz#eebfb169e46709d6cee53f069a53fc1dff410eaa" + integrity sha512-a9UY3n/FnkKN3Q4zOuMFOOcLWb80mdknj+voim4vvXYtJm1aAZQZE5sG9aLnMBTl4TiGLzUtfNDVYY7WgWgDag== + dependencies: + "@truffle/abi-utils" "^0.3.9" + "@truffle/compile-common" "^0.9.4" + big.js "^6.0.3" + bn.js "^5.1.3" + cbor "^5.2.0" + debug "^4.3.1" + lodash "^4.17.21" + semver "7.3.7" + utf8 "^3.0.0" + web3-utils "1.8.2" + +"@truffle/compile-common@^0.9.4": + version "0.9.4" + resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.9.4.tgz#064208cda70491692b538f717809bb904a122c20" + integrity sha512-mnqJB/hLiPHNf+WKwt/2MH6lv34xSG/SFCib7+ckAklutUqVLeFo8EwQxinuHNkU7LY0C+YgZXhK1WTCO5YRJQ== + dependencies: + "@truffle/error" "^0.2.0" + colors "1.4.0" + +"@truffle/config@^1.3.54": + version "1.3.54" + resolved "https://registry.yarnpkg.com/@truffle/config/-/config-1.3.54.tgz#2bc72c08b5efd43e526406591132ef1e2faec860" + integrity sha512-sCFIRqBkxanuYueMQalp4q/1+wxYq5IdAZSJFUXK5FbvhDGU437bl1MuMxGDxhjztf0ZN49YsELAjYMVzOGpUQ== + dependencies: + "@truffle/error" "^0.2.0" + "@truffle/events" "^0.1.22" + "@truffle/provider" "^0.3.7" + conf "^10.1.2" + debug "^4.3.1" + find-up "^2.1.0" + lodash "^4.17.21" + original-require "^1.0.1" + +"@truffle/dashboard-message-bus-client@^0.1.10": + version "0.1.10" + resolved "https://registry.yarnpkg.com/@truffle/dashboard-message-bus-client/-/dashboard-message-bus-client-0.1.10.tgz#bd1cef19956f06716d55a327b8ea6f983e41f0b0" + integrity sha512-r9GpdR96T8xzk2Z3Qq5lowixT6hQwDZ9F3D3oNjOv2AOwBrC7dGkt1Ra1FQRsABn4K7LUVvnjjn6rALlsatAdw== + dependencies: + "@truffle/dashboard-message-bus-common" "^0.1.5" + "@truffle/promise-tracker" "^0.1.5" + axios "1.2.4" + debug "^4.3.1" + delay "^5.0.0" + isomorphic-ws "^4.0.1" + node-abort-controller "^3.0.1" + tiny-typed-emitter "^2.1.0" + ws "^7.2.0" + +"@truffle/dashboard-message-bus-common@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@truffle/dashboard-message-bus-common/-/dashboard-message-bus-common-0.1.5.tgz#180c8c421b2836b7bd109944e7956f427236d8ab" + integrity sha512-F4RfXi7ymNA3HFOlaujRJxAb3I8ciErCRQq+MZVaqjSPF9LSw23IizZsGpLaY43K2bGoBSxyNQRZWxsUEBujPQ== + +"@truffle/db-loader@^0.2.20": + version "0.2.20" + resolved "https://registry.yarnpkg.com/@truffle/db-loader/-/db-loader-0.2.20.tgz#8ac0816ac0cbfdfdb3fb1da5142a705c7f1754ae" + integrity sha512-HEphnZO7N6Avo+hlhWVI3iBM22ewqdCO8sbocR1UhL9atz70HYBltG10C6fD4aglXz95cm7+3ZnnYn4pOSIIQw== + optionalDependencies: + "@truffle/db" "^2.0.20" + +"@truffle/db@^2.0.20": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@truffle/db/-/db-2.0.20.tgz#4f38eada931ed95fb8a8303fb05457b2cb021f0c" + integrity sha512-hSDQPopz3NA8QxOPQV3CSB4I6fZTQtavpLZH+G61tEJYldYkaY240HCEbC3ykMVE05zim83OqBqSKsSz8CYHpg== + dependencies: + "@graphql-tools/delegate" "^8.4.3" + "@graphql-tools/schema" "^8.3.1" + "@truffle/abi-utils" "^0.3.9" + "@truffle/code-utils" "^3.0.2" + "@truffle/config" "^1.3.54" + abstract-leveldown "^7.2.0" + apollo-server "^3.11.0" + debug "^4.3.1" + fs-extra "^9.1.0" + graphql "^15.3.0" + graphql-tag "^2.12.6" + json-stable-stringify "^1.0.1" + pascal-case "^2.0.1" + pluralize "^8.0.0" + pouchdb "7.3.0" + pouchdb-adapter-memory "^7.1.1" + pouchdb-debug "^7.1.1" + pouchdb-find "^7.0.0" + web3-utils "1.8.2" + +"@truffle/debugger@^11.0.31": + version "11.0.31" + resolved "https://registry.yarnpkg.com/@truffle/debugger/-/debugger-11.0.31.tgz#008cf1c5a1be24816826f3b84b15947b1b390582" + integrity sha512-x9lzd8ROprAYDRoe1FhKBbygbGRa/1+q5nuOgq4PbB+ZbqhskLB4gay9N/w6JkTxAvC2KFTdXSvoUhpUokpS7A== + dependencies: + "@truffle/abi-utils" "^0.3.9" + "@truffle/codec" "^0.14.16" + "@truffle/source-map-utils" "^1.3.108" + bn.js "^5.1.3" + debug "^4.3.1" + json-pointer "^0.6.1" + json-stable-stringify "^1.0.1" + lodash "^4.17.21" + redux "^3.7.2" + redux-saga "1.0.0" + reselect-tree "^1.3.7" + semver "7.3.7" + web3 "1.8.2" + web3-eth-abi "1.8.2" + +"@truffle/error@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.1.1.tgz#e52026ac8ca7180d83443dca73c03e07ace2a301" + integrity sha512-sE7c9IHIGdbK4YayH4BC8i8qMjoAOeg6nUXUDZZp8wlU21/EMpaG+CLx+KqcIPyR+GSWIW3Dm0PXkr2nlggFDA== + +"@truffle/error@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.2.0.tgz#65de6f03f5c041f883cc87677eecf8231428f1ab" + integrity sha512-Fe0/z4WWb7IP2gBnv3l6zqP87Y0kSMs7oiSLakKJq17q3GUunrHSdioKuNspdggxkXIBhEQLhi8C+LJdwmHKWQ== + +"@truffle/events@^0.1.22": + version "0.1.22" + resolved "https://registry.yarnpkg.com/@truffle/events/-/events-0.1.22.tgz#007617de4d20093e8c257a63ddc1193a21a9c5b8" + integrity sha512-WBEfaQ5zagS3J1M66J8wQ8N1As/EnBjLQsRlCCFs3/KbmeWhsoalVZ5Effhe0Vxd+e+k7lvwbloQBdS6roc+wg== + dependencies: + "@truffle/dashboard-message-bus-client" "^0.1.10" + "@truffle/spinners" "^0.2.3" + debug "^4.3.1" + emittery "^0.4.1" + web3-utils "1.8.2" + +"@truffle/hdwallet-provider@2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-2.0.13.tgz#b7d9660985d7f32dc35dd5672c0156e3b9b39d32" + integrity sha512-5sGsi9sScB4VkKEuD6itqkrvtpJUNVv0NhI07Nn1JAMDvkJmAAuh2GtoBElDq54y+0JCD8SI0T9BLVZ9IWj6AQ== + dependencies: + "@ethereumjs/common" "^2.4.0" + "@ethereumjs/tx" "^3.3.0" + "@metamask/eth-sig-util" "4.0.1" + ethereum-cryptography "1.1.2" + ethereum-protocol "^1.0.1" + ethereumjs-util "^7.1.5" + ethereumjs-wallet "^1.0.2" + web3-provider-engine "16.0.3" + +"@truffle/interface-adapter@^0.5.25", "@truffle/interface-adapter@^0.5.31": + version "0.5.31" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.31.tgz#9e62e9ed1c1c07d50d9e1dcffd6ef24efc1230e7" + integrity sha512-f5mOqbptQUUgHhBrBvWie4EUAUqHLN/wCBjFoP2N/QNcyvwGfdC3TSck9kjwIIFIgYgQQyAxQDGBQcjHryvxzg== + dependencies: + bn.js "^5.1.3" + ethers "^4.0.32" + web3 "1.8.2" + +"@truffle/promise-tracker@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@truffle/promise-tracker/-/promise-tracker-0.1.5.tgz#df68df14d45a32bda6237ab85169d1808e4b3928" + integrity sha512-wZx8eeu/6rcwwkmRF0Y832/NSQR9A9u6pyhTozv+j77jklnd/KZvu2JlACaAjP30eL5SOtSrSOzAMcSh/trJjg== + +"@truffle/provider@^0.2.24": + version "0.2.64" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.64.tgz#7dd55117307fd019dcf81d08db5dc2bc5728f51c" + integrity sha512-ZwPsofw4EsCq/2h0t73SPnnFezu4YQWBmK4FxFaOUX0F+o8NsZuHKyfJzuZwyZbiktYmefM3yD9rM0Dj4BhNbw== + dependencies: + "@truffle/error" "^0.1.1" + "@truffle/interface-adapter" "^0.5.25" + debug "^4.3.1" + web3 "1.7.4" + +"@truffle/provider@^0.3.7": + version "0.3.7" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.3.7.tgz#fc217d34e84cb3f19f77fa41eef94c82b51bef36" + integrity sha512-OF4JZe3oIR9epWMMbJgCnJJCnu1Ce6IeLk8lCAuNtSlZ46gGj7INEDCXwB5KrgydUC5KDnGp4knHWnQfk5YWXg== + dependencies: + "@truffle/error" "^0.2.0" + "@truffle/interface-adapter" "^0.5.31" + debug "^4.3.1" + web3 "1.8.2" + +"@truffle/source-map-utils@^1.3.108": + version "1.3.108" + resolved "https://registry.yarnpkg.com/@truffle/source-map-utils/-/source-map-utils-1.3.108.tgz#19eb7d6eb776b8b6f9d5fde116cfaf56a0c7365c" + integrity sha512-yleh2/y+nsui9XmVgkq43795ar2JHaVO2RDHeA/IQ4NNmF7X5owOTdA5Rk/YvhqK1UUecvr2zKC3X3vLth8JFQ== + dependencies: + "@truffle/code-utils" "^3.0.2" + "@truffle/codec" "^0.14.16" + debug "^4.3.1" + json-pointer "^0.6.1" + node-interval-tree "^1.3.3" + web3-utils "1.8.2" + +"@truffle/spinners@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@truffle/spinners/-/spinners-0.2.3.tgz#5689d06ef16855a9f6b70dc0cd40188de54450ec" + integrity sha512-YnaQ+oBRQ1I1+/P18i8oSW4orUYi6vwpZQxauEZ5X0L8atjKq+RWdiNaza6J6L+KOLunXM4+pWxnNzuUmxlJZw== + dependencies: + "@trufflesuite/spinnies" "^0.1.1" + +"@trufflesuite/bigint-buffer@1.1.10": + version "1.1.10" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692" + integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw== + dependencies: + node-gyp-build "4.4.0" + +"@trufflesuite/spinnies@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@trufflesuite/spinnies/-/spinnies-0.1.1.tgz#719230993f55ab39f936ed8778979e7661af188d" + integrity sha512-jltEtmFJj6xmQqr85gP8OqBHCEiId+zw+uAsb3DyLLRD17O6sySW6Afa2Z/jpzSafj+32ssDfLJ+c0of1NLqcA== + dependencies: + chalk "^4.1.2" + cli-cursor "^3.1.0" + strip-ansi "^6.0.0" + +"@types/accepts@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" + integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== + dependencies: + "@types/node" "*" + +"@types/bn.js@^4.11.3": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/bn.js@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== + dependencies: + "@types/node" "*" + +"@types/body-parser@*", "@types/body-parser@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" + integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "^3.1.4" + "@types/node" "*" + "@types/responselike" "^1.0.0" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/cors@2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + +"@types/express-serve-static-core@4.17.31": + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express-serve-static-core@^4.17.18": + version "4.17.33" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" + integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@4.17.14": + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/keyv@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/long@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/lru-cache@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@*": + version "18.15.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" + integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== + +"@types/node@^10.1.0": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^12.12.6": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + +"@types/seedrandom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" + integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== + +"@types/serve-static@*": + version "1.15.1" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" + integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== + dependencies: + "@types/mime" "*" + "@types/node" "*" + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== + +abort-controller@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +abortcontroller-polyfill@^1.7.3: + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== + +abstract-level@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/abstract-level/-/abstract-level-1.0.3.tgz#78a67d3d84da55ee15201486ab44c09560070741" + integrity sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA== + dependencies: + buffer "^6.0.3" + catering "^2.1.0" + is-buffer "^2.0.5" + level-supports "^4.0.0" + level-transcoder "^1.0.1" + module-error "^1.0.1" + queue-microtask "^1.2.3" + +abstract-leveldown@7.2.0, abstract-leveldown@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" + integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== + dependencies: + buffer "^6.0.3" + catering "^2.0.0" + is-buffer "^2.0.5" + level-concat-iterator "^3.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" + +abstract-leveldown@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" + integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + +abstract-leveldown@~2.6.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" + integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" + integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~6.2.1, abstract-leveldown@~6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" + integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + +accepts@^1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +address@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aes-js@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.2.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" + integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== + dependencies: + debug "^4.1.0" + depd "^2.0.0" + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.6.3: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" + integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== + dependencies: + type-fest "^1.0.2" + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== + +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apollo-datasource@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.3.2.tgz#5711f8b38d4b7b53fb788cb4dbd4a6a526ea74c8" + integrity sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + apollo-server-env "^4.2.1" + +apollo-reporting-protobuf@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz#6edd31f09d4a3704d9e808d1db30eca2229ded26" + integrity sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog== + dependencies: + "@apollo/protobufjs" "1.2.6" + +apollo-server-core@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.12.0.tgz#8aa2a7329ce6fe1823290c45168c749db01548df" + integrity sha512-hq7iH6Cgldgmnjs9FVSZeKWRpi0/ZR+iJ1arzeD2VXGxxgk1mAm/cz1Tx0TYgegZI+FvvrRl0UhKEx7sLnIxIg== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + "@apollo/utils.logger" "^1.0.0" + "@apollo/utils.usagereporting" "^1.0.0" + "@apollographql/apollo-tools" "^0.5.3" + "@apollographql/graphql-playground-html" "1.6.29" + "@graphql-tools/mock" "^8.1.2" + "@graphql-tools/schema" "^8.0.0" + "@josephg/resolvable" "^1.0.0" + apollo-datasource "^3.3.2" + apollo-reporting-protobuf "^3.4.0" + apollo-server-env "^4.2.1" + apollo-server-errors "^3.3.1" + apollo-server-plugin-base "^3.7.2" + apollo-server-types "^3.8.0" + async-retry "^1.2.1" + fast-json-stable-stringify "^2.1.0" + graphql-tag "^2.11.0" + loglevel "^1.6.8" + lru-cache "^6.0.0" + node-abort-controller "^3.0.1" + sha.js "^2.4.11" + uuid "^9.0.0" + whatwg-mimetype "^3.0.0" + +apollo-server-env@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-4.2.1.tgz#ea5b1944accdbdba311f179e4dfaeca482c20185" + integrity sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g== + dependencies: + node-fetch "^2.6.7" + +apollo-server-errors@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz#ba5c00cdaa33d4cbd09779f8cb6f47475d1cd655" + integrity sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA== + +apollo-server-express@^3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.12.0.tgz#a6e392bb0427544b8c7e5d841ef07f7691b0c105" + integrity sha512-m8FaGPUfDOEGSm7QRWRmUUGjG/vqvpQoorkId9/FXkC57fz/A59kEdrzkMt9538Xgsa5AV+X4MEWLJhTvlW3LQ== + dependencies: + "@types/accepts" "^1.3.5" + "@types/body-parser" "1.19.2" + "@types/cors" "2.8.12" + "@types/express" "4.17.14" + "@types/express-serve-static-core" "4.17.31" + accepts "^1.3.5" + apollo-server-core "^3.12.0" + apollo-server-types "^3.8.0" + body-parser "^1.19.0" + cors "^2.8.5" + parseurl "^1.3.3" + +apollo-server-plugin-base@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz#c19cd137bc4c993ba2490ba2b571b0f3ce60a0cd" + integrity sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw== + dependencies: + apollo-server-types "^3.8.0" + +apollo-server-types@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.8.0.tgz#d976b6967878681f715fe2b9e4dad9ba86b1346f" + integrity sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A== + dependencies: + "@apollo/utils.keyvaluecache" "^1.0.1" + "@apollo/utils.logger" "^1.0.0" + apollo-reporting-protobuf "^3.4.0" + apollo-server-env "^4.2.1" + +apollo-server@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-3.12.0.tgz#bd43d6dadb8cb16ed34edfc6ad97a81b1fab748a" + integrity sha512-wZHLgBoIdGxr/YpPTG5RwNnS+B2y70T/nCegCnU6Yl+H3PXB92OIguLMhdJIZVjukIOhiQT12dNIehqLQ+1hMQ== + dependencies: + "@types/express" "4.17.14" + apollo-server-core "^3.12.0" + apollo-server-express "^3.12.0" + express "^4.17.1" + +app-module-path@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5" + integrity sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ== + +"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +argsarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" + integrity sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg== + +argv-formatter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9" + integrity sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +async-eventemitter@0.2.4, async-eventemitter@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" + integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== + dependencies: + async "^2.4.0" + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + +async-retry@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + +async@1.x, async@^1.4.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atomically@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" + integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" + integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== + +axios@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.4.tgz#6555dd955d2efa9b8f4cb4cb0b3371b7b243537a" + integrity sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axios@^0.26.1: + version "0.26.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" + integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== + dependencies: + follow-redirects "^1.14.8" + +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" + +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.3" + +backoff@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" + integrity sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA== + dependencies: + precond "0.2" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + +big.js@^6.0.3: + version "6.2.1" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" + integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== + +bignumber.js@^9.0.0, bignumber.js@^9.0.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" + integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== + +bin-links@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^2.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + +binary-extensions@^2.0.0, binary-extensions@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +body-parser@^1.16.0, body-parser@^1.19.0: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bottleneck@^2.18.1: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserslist@^4.21.3, browserslist@^4.21.5: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +btoa@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" + integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + +buffer-from@1.1.2, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferutil@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== + dependencies: + node-gyp-build "^4.3.0" + +bufferutil@^4.0.1: + version "4.0.7" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" + integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== + dependencies: + node-gyp-build "^4.3.0" + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-lookup@^6.0.4: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" + integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001449: + version "1.0.30001473" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz#3859898b3cab65fc8905bb923df36ad35058153c" + integrity sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw== + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +catering@^2.0.0, catering@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" + integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== + +cbor@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" + integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== + dependencies: + bignumber.js "^9.0.1" + nofilter "^1.0.4" + +chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== + +change-case@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037" + integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== + dependencies: + camel-case "^3.0.0" + constant-case "^2.0.0" + dot-case "^2.1.0" + header-case "^1.0.0" + is-lower-case "^1.1.0" + is-upper-case "^1.1.0" + lower-case "^1.1.1" + lower-case-first "^1.0.0" + no-case "^2.3.2" + param-case "^2.1.0" + pascal-case "^2.0.0" + path-case "^2.1.0" + sentence-case "^2.1.0" + snake-case "^2.1.0" + swap-case "^1.1.0" + title-case "^2.1.0" + upper-case "^1.1.1" + upper-case-first "^1.1.0" + +checkpoint-store@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" + integrity sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg== + dependencies: + functional-red-black-tree "^1.0.1" + +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +cidr-regex@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== + dependencies: + ip-regex "^4.1.0" + +cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/circular/-/circular-1.0.5.tgz#7da77af98bbde9ce4b5b358cd556b5dded2d3149" + integrity sha512-n4Sspha+wxUl5zeA3JYp1zFCjsLz2VfXIe2gRKNQBrIX+7iPdGcCGZOF8W8IULtllZ/aejXtySfdFFt1wy/3JQ== + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-columns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== + dependencies: + string-width "^4.2.3" + strip-ansi "^6.0.1" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-logger@^0.5.40: + version "0.5.40" + resolved "https://registry.yarnpkg.com/cli-logger/-/cli-logger-0.5.40.tgz#097f0e11b072c7c698a26c47f588a29c20b48b0b" + integrity sha512-piXVCa0TLm/+A7xdVEhw7t4OSrsmJaZIekWcoGrVMY1bHtLJTXgiNzgHlKT0EVHQ14sCKWorQJazU7UWgZhXOQ== + dependencies: + circular "^1.0.5" + cli-util "~1.1.27" + +cli-regexp@~0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-regexp/-/cli-regexp-0.1.2.tgz#6bcd93b09fb2ed1025d30a1155d5997954a53512" + integrity sha512-L++cAQ5g0Nu6aV56B3uaR+c7jEGSAa4WApY1ZN7XiD8niJ5jRfXE/qvMwgz3uZBG0rft4hJS75Vpz2F3mSm4Mg== + +cli-table3@^0.6.1, cli-table3@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-util@~1.1.27: + version "1.1.27" + resolved "https://registry.yarnpkg.com/cli-util/-/cli-util-1.1.27.tgz#42d69e36a040a321fc9cf851c1513cadc5093054" + integrity sha512-Z6+zI0kIrqf9Oi+PmUm8J9AELp8bTf2vCLYseudYtdOPNJvzpNiExO95aHIm477IbPdu/8SE9Wvc/M1kJl4Anw== + dependencies: + cli-regexp "~0.1.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-buffer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== + +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +clone@^2.0.0, clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colors@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +conf@^10.1.2: + version "10.2.0" + resolved "https://registry.yarnpkg.com/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6" + integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg== + dependencies: + ajv "^8.6.3" + ajv-formats "^2.1.1" + atomically "^1.7.0" + debounce-fn "^4.0.0" + dot-prop "^6.0.1" + env-paths "^2.2.1" + json-schema-typed "^7.0.3" + onetime "^5.1.2" + pkg-up "^3.1.0" + semver "^7.3.5" + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +constant-case@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" + integrity sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ== + dependencies: + snake-case "^2.1.0" + upper-case "^1.1.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +conventional-changelog-angular@^5.0.0: + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-commits-filter@^2.0.0, conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookiejar@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" + integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== + +core-js-compat@^3.25.1: + version "3.29.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.29.1.tgz#15c0fb812ea27c973c18d425099afa50b934b41b" + integrity sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA== + dependencies: + browserslist "^4.21.5" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.1, cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-fetch@^2.1.0: + version "2.2.6" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" + integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== + dependencies: + node-fetch "^2.6.7" + whatwg-fetch "^2.0.4" + +cross-fetch@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +dataloader@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" + integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ== + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +death@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" + integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== + +debounce-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" + integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== + dependencies: + mimic-fn "^3.0.0" + +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +deferred-leveldown@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" + integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== + dependencies: + abstract-leveldown "~2.6.0" + +deferred-leveldown@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" + integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== + dependencies: + abstract-leveldown "~6.2.1" + inherits "^2.0.3" + +del@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0, depd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-port@^1.3.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +dezalgo@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +diff@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.0, dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +dot-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" + integrity sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug== + dependencies: + no-case "^2.2.0" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + +double-ended-queue@2.1.0-0: + version "2.1.0-0" + resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" + integrity sha512-+BNfZ+deCo8hMNpDqDnvT+c0XpJ5cUa6mqYq89bho2Ifze4URTqRkcwR399hWoTrTkbZ/XJYDgP6rc7pRgffEQ== + +duplexer2@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== + dependencies: + readable-stream "^2.0.2" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.284: + version "1.4.348" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz#f49379dc212d79f39112dd026f53e371279e433d" + integrity sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ== + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" + integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== + +emittery@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d" + integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encoding-down@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b" + integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== + dependencies: + abstract-leveldown "^6.2.1" + inherits "^2.0.3" + level-codec "^9.0.0" + level-errors "^2.0.0" + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +end-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/end-stream/-/end-stream-0.1.0.tgz#32003f3f438a2b0143168137f8fa6e9866c81ed5" + integrity sha512-Brl10T8kYnc75IepKizW6Y9liyW8ikz1B7n/xoHrJxoVSSjoqPn30sb7XVFfQERK4QfUMYRGs9dhWwtt2eu6uA== + dependencies: + write-stream "~0.4.3" + +env-ci@^5.0.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/env-ci/-/env-ci-5.5.0.tgz#43364e3554d261a586dec707bc32be81112b545f" + integrity sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A== + dependencies: + execa "^5.0.0" + fromentries "^1.3.2" + java-properties "^1.0.0" + +env-paths@^2.2.0, env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +errno@~0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-promise@^4.2.8: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== + +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eth-block-tracker@^4.4.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626" + integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw== + dependencies: + "@babel/plugin-transform-runtime" "^7.5.5" + "@babel/runtime" "^7.5.5" + eth-query "^2.1.0" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-json-rpc-filters@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d" + integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + async-mutex "^0.2.6" + eth-json-rpc-middleware "^6.0.0" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-json-rpc-infura@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-5.1.0.tgz#e6da7dc47402ce64c54e7018170d89433c4e8fb6" + integrity sha512-THzLye3PHUSGn1EXMhg6WTLW9uim7LQZKeKaeYsS9+wOBcamRiCQVGHa6D2/4P0oS0vSaxsBnU/J6qvn0MPdow== + dependencies: + eth-json-rpc-middleware "^6.0.0" + eth-rpc-errors "^3.0.0" + json-rpc-engine "^5.3.0" + node-fetch "^2.6.0" + +eth-json-rpc-middleware@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175" + integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ== + dependencies: + btoa "^1.2.1" + clone "^2.1.1" + eth-query "^2.1.2" + eth-rpc-errors "^3.0.0" + eth-sig-util "^1.4.2" + ethereumjs-util "^5.1.2" + json-rpc-engine "^5.3.0" + json-stable-stringify "^1.0.1" + node-fetch "^2.6.1" + pify "^3.0.0" + safe-event-emitter "^1.0.1" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +eth-query@^2.1.0, eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10" + integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-rpc-errors@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +eth-sig-util@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" + integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw== + dependencies: + ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util "^5.1.1" + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-common@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" + integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== + +ethereum-common@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" + integrity sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ== + +ethereum-cryptography@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.1.2.tgz#74f2ac0f0f5fe79f012c889b3b8446a9a6264e6d" + integrity sha512-XDSJlg4BD+hq9N2FjvotwUET9Tfxpxc3kWGE2AqUG5vcbeunnbImVk3cj6e/xT3phdW21mE8R5IugU4fspQDcQ== + dependencies: + "@noble/hashes" "1.1.2" + "@noble/secp256k1" "1.6.3" + "@scure/bip32" "1.1.0" + "@scure/bip39" "1.1.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-protocol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz#b7d68142f4105e0ae7b5e178cf42f8d4dc4b93cf" + integrity sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg== + +ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": + version "0.6.8" + resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +ethereumjs-account@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" + integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== + dependencies: + ethereumjs-util "^5.0.0" + rlp "^2.0.0" + safe-buffer "^5.1.1" + +ethereumjs-block@^1.2.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" + integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== + dependencies: + async "^2.0.1" + ethereum-common "0.2.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-block@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" + integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.5.0" + ethereumjs-tx "^2.1.1" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-common@^1.1.0, ethereumjs-common@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" + integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== + +ethereumjs-tx@^1.2.2: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" + integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== + dependencies: + ethereum-common "^0.0.18" + ethereumjs-util "^5.0.0" + +ethereumjs-tx@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" + integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== + dependencies: + ethereumjs-common "^1.5.0" + ethereumjs-util "^6.0.0" + +ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + +ethereumjs-util@^5.0.0, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: + version "5.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" + integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "^0.1.3" + rlp "^2.0.0" + safe-buffer "^5.1.1" + +ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethereumjs-vm@^2.3.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" + integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + ethereumjs-account "^2.0.3" + ethereumjs-block "~2.2.0" + ethereumjs-common "^1.1.0" + ethereumjs-util "^6.0.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + +ethereumjs-wallet@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-1.0.2.tgz#2c000504b4c71e8f3782dabe1113d192522e99b6" + integrity sha512-CCWV4RESJgRdHIvFciVQFnCHfqyhXWchTPlkfp28Qc53ufs+doi5I/cV2+xeK9+qEo25XCWfP9MiL+WEPAZfdA== + dependencies: + aes-js "^3.1.2" + bs58check "^2.1.2" + ethereum-cryptography "^0.1.3" + ethereumjs-util "^7.1.2" + randombytes "^2.1.0" + scrypt-js "^3.0.1" + utf8 "^3.0.0" + uuid "^8.3.2" + +ethers@^4.0.32: + version "4.0.49" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" + integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== + dependencies: + aes-js "3.0.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.14.0, express@^4.17.1: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fake-merkle-patricia-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" + integrity sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA== + dependencies: + checkpoint-store "^1.1.0" + +fast-check@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.1.1.tgz#72c5ae7022a4e86504762e773adfb8a5b0b01252" + integrity sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA== + dependencies: + pure-rand "^5.0.1" + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fetch-cookie@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-0.11.0.tgz#e046d2abadd0ded5804ce7e2cae06d4331c15407" + integrity sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA== + dependencies: + tough-cookie "^2.3.3 || ^3.0.1 || ^4.0.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== + dependencies: + semver-regex "^3.1.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.14.8, follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreach@^2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" + integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data-encoder@1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" + integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from2@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fromentries@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" + integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== + +fs-extra@^11.0.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +ganache-cli@^6.12.2: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a" + integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw== + dependencies: + ethereumjs-util "6.2.1" + source-map-support "0.5.12" + yargs "13.2.4" + +ganache@7.7.7: + version "7.7.7" + resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.7.7.tgz#19939a86799f0bcb7df02e88082944466394b913" + integrity sha512-kZUuOcgDQBtbxzs4iB3chg1iAc28s2ffdOdzyTTzo4vr9sb843w4PbWd5v1hsIqtcNjurcpLaW8XRp/cw2u++g== + dependencies: + "@trufflesuite/bigint-buffer" "1.1.10" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "5.1.1" + "@types/seedrandom" "3.0.1" + abstract-level "1.0.3" + abstract-leveldown "7.2.0" + async-eventemitter "0.2.4" + emittery "0.10.0" + keccak "3.0.2" + leveldown "6.1.0" + secp256k1 "4.0.3" + optionalDependencies: + bufferutil "4.0.5" + utf-8-validate "5.0.7" + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +ghost-testrpc@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" + integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== + dependencies: + chalk "^2.4.2" + node-emoji "^1.10.0" + +git-cz@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/git-cz/-/git-cz-4.9.0.tgz#c0604ff85b37046d51fd85e265040032c9617bf2" + integrity sha512-cSRL8IIOXU7UFLdbziCYqg8f8InwLwqHezkiRHNSph7oZqGv0togId1kMTfKil6gzK0VaSXeVBb4oDl0fQCHiw== + +git-log-parser@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/git-log-parser/-/git-log-parser-1.2.0.tgz#2e6a4c1b13fc00028207ba795a7ac31667b9fd4a" + integrity sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA== + dependencies: + argv-formatter "~1.0.0" + spawn-error-forwarder "~1.0.0" + split2 "~1.0.0" + stream-combiner2 "~1.1.1" + through2 "~2.0.0" + traverse "~0.6.6" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^11.0.0, globby@^11.0.1: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" + integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== + dependencies: + "@sindresorhus/is" "^4.6.0" + "@szmarczak/http-timer" "^5.0.1" + "@types/cacheable-request" "^6.0.2" + "@types/responselike" "^1.0.0" + cacheable-lookup "^6.0.4" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + form-data-encoder "1.7.1" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^2.0.0" + +got@9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +got@^11.8.5: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphql-tag@^2.11.0, graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + +graphql@^15.3.0: + version "15.8.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" + integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== + +handlebars@^4.0.1, handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +header-case@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" + integrity sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.3" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hook-std@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hook-std/-/hook-std-2.0.0.tgz#ff9aafdebb6a989a354f729bb6445cf4a3a7077c" + integrity sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^5.0.0, hosted-git-info@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== + dependencies: + lru-cache "^7.5.1" + +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +http2-wrapper@^2.1.10: + version "2.2.0" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" + integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== + dependencies: + minimatch "^5.0.1" + +ignore@^5.1.1, ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +immediate@3.3.0, immediate@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@^3.0.0, ini@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" + integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== + +init-package-json@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== + dependencies: + npm-package-arg "^9.0.1" + promzard "^0.3.0" + read "^1.0.7" + read-package-json "^5.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +into-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702" + integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== + dependencies: + from2 "^2.3.0" + p-is-promise "^3.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-cidr@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== + dependencies: + cidr-regex "^3.1.1" + +is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" + integrity sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-lower-case@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" + integrity sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA== + dependencies: + lower-case "^1.1.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + +is-typed-array@^1.1.10, is-typed-array@^1.1.3: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-upper-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" + integrity sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw== + dependencies: + upper-case "^1.1.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isomorphic-ws@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" + integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== + +issue-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/issue-parser/-/issue-parser-6.0.0.tgz#b1edd06315d4f2044a9755daf85fdafde9b4014a" + integrity sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA== + dependencies: + lodash.capitalize "^4.2.1" + lodash.escaperegexp "^4.1.2" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.uniqby "^4.7.0" + +java-properties@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" + integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== + +js-sha3@0.5.7, js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.x: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-pointer@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" + integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== + dependencies: + foreach "^2.0.4" + +json-rpc-engine@^5.3.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz#75758609d849e1dba1e09021ae473f3ab63161e5" + integrity sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g== + dependencies: + eth-rpc-errors "^3.0.0" + safe-event-emitter "^1.0.1" + +json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" + +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema-typed@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" + integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" + integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== + dependencies: + jsonify "^0.0.1" + +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== + +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonschema@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" + integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^5.0.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" + integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== + +keccak@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keccak@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" + integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +keyv@^4.0.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" + integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +level-codec@9.0.2, level-codec@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" + integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== + dependencies: + buffer "^5.6.0" + +level-codec@~7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" + integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== + +level-concat-iterator@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" + integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== + dependencies: + catering "^2.1.0" + +level-concat-iterator@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" + integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== + +level-errors@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" + integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== + dependencies: + errno "~0.1.1" + +level-errors@^2.0.0, level-errors@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" + integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== + dependencies: + errno "~0.1.1" + +level-errors@~1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" + integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== + dependencies: + errno "~0.1.1" + +level-iterator-stream@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" + integrity sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw== + dependencies: + inherits "^2.0.1" + level-errors "^1.0.3" + readable-stream "^1.0.33" + xtend "^4.0.0" + +level-iterator-stream@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" + integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== + dependencies: + inherits "^2.0.4" + readable-stream "^3.4.0" + xtend "^4.0.2" + +level-js@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/level-js/-/level-js-5.0.2.tgz#5e280b8f93abd9ef3a305b13faf0b5397c969b55" + integrity sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg== + dependencies: + abstract-leveldown "~6.2.3" + buffer "^5.5.0" + inherits "^2.0.3" + ltgt "^2.1.2" + +level-packager@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" + integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== + dependencies: + encoding-down "^6.3.0" + levelup "^4.3.2" + +level-supports@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" + integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== + +level-supports@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" + integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== + +level-supports@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" + integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== + dependencies: + xtend "^4.0.2" + +level-transcoder@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" + integrity sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== + dependencies: + buffer "^6.0.3" + module-error "^1.0.1" + +level-write-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/level-write-stream/-/level-write-stream-1.0.0.tgz#3f7fbb679a55137c0feb303dee766e12ee13c1dc" + integrity sha512-bBNKOEOMl8msO+uIM9YX/gUO6ckokZ/4pCwTm/lwvs46x6Xs8Zy0sn3Vh37eDqse4mhy4fOMIb/JsSM2nyQFtw== + dependencies: + end-stream "~0.1.0" + +level-ws@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" + integrity sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw== + dependencies: + readable-stream "~1.0.15" + xtend "~2.1.1" + +level@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/level/-/level-6.0.1.tgz#dc34c5edb81846a6de5079eac15706334b0d7cd6" + integrity sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw== + dependencies: + level-js "^5.0.0" + level-packager "^5.1.0" + leveldown "^5.4.0" + +leveldown@5.6.0, leveldown@^5.4.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-5.6.0.tgz#16ba937bb2991c6094e13ac5a6898ee66d3eee98" + integrity sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ== + dependencies: + abstract-leveldown "~6.2.1" + napi-macros "~2.0.0" + node-gyp-build "~4.1.0" + +leveldown@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee" + integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w== + dependencies: + abstract-leveldown "^7.2.0" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" + +levelup@4.4.0, levelup@^4.3.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" + integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== + dependencies: + deferred-leveldown "~5.3.0" + level-errors "~2.0.0" + level-iterator-stream "~4.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + +levelup@^1.2.1: + version "1.3.9" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" + integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== + dependencies: + deferred-leveldown "~1.2.1" + level-codec "~7.0.0" + level-errors "~1.0.3" + level-iterator-stream "~1.3.0" + prr "~1.0.1" + semver "~5.4.1" + xtend "~4.0.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +libnpmaccess@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + +libnpmdiff@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" + integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== + dependencies: + "@npmcli/disparity-colors" "^2.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + binary-extensions "^2.2.0" + diff "^5.1.0" + minimatch "^5.0.1" + npm-package-arg "^9.0.1" + pacote "^13.6.1" + tar "^6.1.0" + +libnpmexec@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" + integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== + dependencies: + "@npmcli/arborist" "^5.6.3" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/fs" "^2.1.1" + "@npmcli/run-script" "^4.2.0" + chalk "^4.1.0" + mkdirp-infer-owner "^2.0.0" + npm-package-arg "^9.0.1" + npmlog "^6.0.2" + pacote "^13.6.1" + proc-log "^2.0.0" + read "^1.0.7" + read-package-json-fast "^2.0.2" + semver "^7.3.7" + walk-up-path "^1.0.0" + +libnpmfund@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" + integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== + dependencies: + "@npmcli/arborist" "^5.6.3" + +libnpmhook@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" + integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmorg@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" + integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmpack@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" + integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== + dependencies: + "@npmcli/run-script" "^4.1.3" + npm-package-arg "^9.0.1" + pacote "^13.6.1" + +libnpmpublish@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== + dependencies: + normalize-package-data "^4.0.0" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + semver "^7.3.7" + ssri "^9.0.0" + +libnpmsearch@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" + integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== + dependencies: + npm-registry-fetch "^13.0.0" + +libnpmteam@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" + integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmversion@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" + integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/run-script" "^4.1.3" + json-parse-even-better-errors "^2.3.1" + proc-log "^2.0.0" + semver "^7.3.7" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@^4.2.1: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.capitalize@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" + integrity sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== + +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +loglevel@^1.6.8: + version "1.8.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" + integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +loose-envify@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case-first@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" + integrity sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA== + dependencies: + lower-case "^1.1.2" + +lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +"lru-cache@7.10.1 - 7.13.1": + version "7.13.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" + integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +ltgt@2.2.1, ltgt@^2.1.2, ltgt@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== + +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +marked-terminal@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-5.1.1.tgz#d2edc2991841d893ee943b44b40b2ee9518b4d9f" + integrity sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g== + dependencies: + ansi-escapes "^5.0.0" + cardinal "^2.1.1" + chalk "^5.0.0" + cli-table3 "^0.6.1" + node-emoji "^1.11.0" + supports-hyperlinks "^2.2.0" + +marked@^4.0.10: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memdown@1.4.1, memdown@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" + integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== + dependencies: + abstract-leveldown "~2.7.1" + functional-red-black-tree "^1.0.1" + immediate "^3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.1.1" + +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" + integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== + dependencies: + async "^1.4.2" + ethereumjs-util "^5.0.0" + level-ws "0.0.0" + levelup "^1.2.1" + memdown "^1.0.0" + readable-stream "^2.0.0" + rlp "^2.0.0" + semaphore ">=1.0.1" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" + integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^5.0.1, minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.0.0: + version "4.2.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" + integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + +minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== + dependencies: + mkdirp "*" + +mkdirp@*: + version "2.1.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.6.tgz#964fbcb12b2d8c5d6fbc62a963ac95a273e2cc19" + integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A== + +mkdirp@0.5.x, mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mocha@10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.1.0.tgz#dbf1114b7c3f9d0ca5de3133906aea3dfc89ef7a" + integrity sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.3" + debug "4.3.4" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.2.0" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "5.0.1" + ms "2.1.3" + nanoid "3.3.3" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + workerpool "6.2.1" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + +modify-values@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + +module-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" + integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + +multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multihashes@^0.4.15, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + +mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== + +nanoid@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" + integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== + +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + +negotiator@0.6.3, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nerf-dart@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a" + integrity sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g== + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0, no-case@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-emoji@^1.10.0, node-emoji@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: + version "2.6.9" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== + +node-gyp-build@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.1.1.tgz#d7270b5d86717068d114cc57fff352f96d745feb" + integrity sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ== + +node-gyp@^9.0.0, node-gyp@^9.1.0: + version "9.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.3.1.tgz#1e19f5f290afcc9c46973d68700cbd21a96192e4" + integrity sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-interval-tree@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/node-interval-tree/-/node-interval-tree-1.3.3.tgz#15ffb904cde08270214acace8dc7653e89ae32b7" + integrity sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw== + dependencies: + shallowequal "^1.0.2" + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +nofilter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" + integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== + dependencies: + abbrev "1" + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.0, normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-audit-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" + integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== + dependencies: + chalk "^4.0.0" + +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-bundled@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== + dependencies: + npm-normalize-package-bin "^2.0.0" + +npm-install-checks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-packlist@^5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== + dependencies: + glob "^8.0.1" + ignore-walk "^5.0.1" + npm-bundled "^2.0.0" + npm-normalize-package-bin "^2.0.0" + +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^2.0.0" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-profile@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" + integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== + dependencies: + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== + dependencies: + make-fetch-happen "^10.0.6" + minipass "^3.1.6" + minipass-fetch "^2.0.3" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^9.0.1" + proc-log "^2.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-user-validate@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== + +npm@^8.3.0: + version "8.19.4" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.4.tgz#65ad6a2dfdd157a4ef4467fb86e8dcd35a43493f" + integrity sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/arborist" "^5.6.3" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/config" "^4.2.1" + "@npmcli/fs" "^2.1.0" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^4.2.1" + abbrev "~1.1.1" + archy "~1.0.0" + cacache "^16.1.3" + chalk "^4.1.2" + chownr "^2.0.0" + cli-columns "^4.0.0" + cli-table3 "^0.6.2" + columnify "^1.6.0" + fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" + glob "^8.0.1" + graceful-fs "^4.2.10" + hosted-git-info "^5.2.1" + ini "^3.0.1" + init-package-json "^3.0.2" + is-cidr "^4.0.2" + json-parse-even-better-errors "^2.3.1" + libnpmaccess "^6.0.4" + libnpmdiff "^4.0.5" + libnpmexec "^4.0.14" + libnpmfund "^3.0.5" + libnpmhook "^8.0.4" + libnpmorg "^4.0.4" + libnpmpack "^4.1.3" + libnpmpublish "^6.0.5" + libnpmsearch "^5.0.4" + libnpmteam "^4.0.4" + libnpmversion "^3.0.7" + make-fetch-happen "^10.2.0" + minimatch "^5.1.0" + minipass "^3.1.6" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + ms "^2.1.2" + node-gyp "^9.1.0" + nopt "^6.0.0" + npm-audit-report "^3.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.1.0" + npm-pick-manifest "^7.0.2" + npm-profile "^6.2.0" + npm-registry-fetch "^13.3.1" + npm-user-validate "^1.0.1" + npmlog "^6.0.2" + opener "^1.5.2" + p-map "^4.0.0" + pacote "^13.6.2" + parse-conflict-json "^2.0.2" + proc-log "^2.0.1" + qrcode-terminal "^0.12.0" + read "~1.0.7" + read-package-json "^5.0.2" + read-package-json-fast "^2.0.3" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.1" + tar "^6.1.11" + text-table "~0.2.0" + tiny-relative-date "^1.3.0" + treeverse "^2.0.0" + validate-npm-package-name "^4.0.0" + which "^2.0.2" + write-file-atomic "^4.0.1" + +npmlog@^6.0.0, npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== + +oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== + dependencies: + http-https "^1.0.0" + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +original-require@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20" + integrity sha512-5vdKMbE58WaE61uVD+PKyh8xdM398UnjPBLotW2sjG5MzHARwta/+NtMBCBA0t2WQblGYBvq5vsiZpWokwno+A== + +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-filter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-is-promise@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" + integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-reduce@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== + +p-retry@^4.0.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: + version "13.6.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + +param-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parseurl@^1.3.3, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^2.0.0, pascal-case@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" + integrity sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ== + dependencies: + camel-case "^3.0.0" + upper-case-first "^1.1.0" + +path-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" + integrity sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q== + dependencies: + no-case "^2.2.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.17, pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pkg-conf@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" + integrity sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g== + dependencies: + find-up "^2.0.0" + load-json-file "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +postcss-selector-parser@^6.0.10: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +pouchdb-abstract-mapreduce@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.3.1.tgz#96ff4a0f41cbe273f3f52fde003b719005a2093c" + integrity sha512-0zKXVFBvrfc1KnN0ggrB762JDmZnUpePHywo9Bq3Jy+L1FnoG7fXM5luFfvv5/T0gEw+ZTIwoocZECMnESBI9w== + dependencies: + pouchdb-binary-utils "7.3.1" + pouchdb-collate "7.3.1" + pouchdb-collections "7.3.1" + pouchdb-errors "7.3.1" + pouchdb-fetch "7.3.1" + pouchdb-mapreduce-utils "7.3.1" + pouchdb-md5 "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-adapter-leveldb-core@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-adapter-leveldb-core/-/pouchdb-adapter-leveldb-core-7.3.1.tgz#3c71dce7ff06c2e483d873d7aabc1fded56372ca" + integrity sha512-mxShHlqLMPz2gChrgtA9okV1ogFmQrRAoM/O4EN0CrQWPLXqYtpL1f7sI2asIvFe7SmpnvbLx7kkZyFmLTfwjA== + dependencies: + argsarray "0.0.1" + buffer-from "1.1.2" + double-ended-queue "2.1.0-0" + levelup "4.4.0" + pouchdb-adapter-utils "7.3.1" + pouchdb-binary-utils "7.3.1" + pouchdb-collections "7.3.1" + pouchdb-errors "7.3.1" + pouchdb-json "7.3.1" + pouchdb-md5 "7.3.1" + pouchdb-merge "7.3.1" + pouchdb-utils "7.3.1" + sublevel-pouchdb "7.3.1" + through2 "3.0.2" + +pouchdb-adapter-memory@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-adapter-memory/-/pouchdb-adapter-memory-7.3.1.tgz#7be4b0601326cb93eb1141ed910fdfdf40c36616" + integrity sha512-iHdWGJAHONqQv0we3Oi1MYen69ZS8McLW9wUyaAYcWTJnAIIAr2ZM0/TeTDVSHfMUwYqEYk7X8jRtJZEMwLnwg== + dependencies: + memdown "1.4.1" + pouchdb-adapter-leveldb-core "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-adapter-utils@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.3.1.tgz#7237cb597f8d337057df15d4859bfe3c881d8832" + integrity sha512-uKLG6dClwTs/sLIJ4WkLAi9wlnDBpOnfyhpeAgOjlOGN/XLz5nKHrA4UJRnURDyc+uv79S9r/Unc4hVpmbSPUw== + dependencies: + pouchdb-binary-utils "7.3.1" + pouchdb-collections "7.3.1" + pouchdb-errors "7.3.1" + pouchdb-md5 "7.3.1" + pouchdb-merge "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-binary-utils@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.3.1.tgz#eea22d9a5f880fcd95062476f4f5484cdf61496f" + integrity sha512-crZJNfAEOnUoRk977Qtmk4cxEv6sNKllQ6vDDKgQrQLFjMUXma35EHzNyIJr1s76J77Q4sqKQAmxz9Y40yHGtw== + dependencies: + buffer-from "1.1.2" + +pouchdb-collate@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-collate/-/pouchdb-collate-7.3.1.tgz#19d7b87dd173d1c765da8cc9987c5aa9eb24f11f" + integrity sha512-o4gyGqDMLMSNzf6EDTr3eHaH/JRMoqRhdc+eV+oA8u00nTBtr9wD+jypVe2LbgKLJ4NWqx2qVkXiTiQdUFtsLQ== + +pouchdb-collections@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.3.1.tgz#4f1819cf4dd6936a422c29f7fa26a9b5dca428f5" + integrity sha512-yUyDqR+OJmtwgExOSJegpBJXDLAEC84TWnbAYycyh+DZoA51Yw0+XVQF5Vh8Ii90/Ut2xo88fmrmp0t6kqom8w== + +pouchdb-debug@^7.1.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/pouchdb-debug/-/pouchdb-debug-7.2.1.tgz#f5f869f6113c12ccb97cddf5b0a32b6e0e67e961" + integrity sha512-eP3ht/AKavLF2RjTzBM6S9gaI2/apcW6xvaKRQhEdOfiANqerFuksFqHCal3aikVQuDO+cB/cw+a4RyJn/glBw== + dependencies: + debug "3.1.0" + +pouchdb-errors@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.3.1.tgz#78be36721e2edc446fac158a236a9218c7bcdb14" + integrity sha512-Zktz4gnXEUcZcty8FmyvtYUYsHskoST05m6H5/E2gg/0mCfEXq/XeyyLkZHaZmqD0ZPS9yNmASB1VaFWEKEaDw== + dependencies: + inherits "2.0.4" + +pouchdb-fetch@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-fetch/-/pouchdb-fetch-7.3.1.tgz#d54b1807be0f0a5d4b6d06e416c7d54952bbc348" + integrity sha512-205xAtvdHRPQ4fp1h9+RmT9oQabo9gafuPmWsS9aEl3ER54WbY8Vaj1JHZGbU4KtMTYvW7H5088zLS7Nrusuag== + dependencies: + abort-controller "3.0.0" + fetch-cookie "0.11.0" + node-fetch "2.6.7" + +pouchdb-find@^7.0.0: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-find/-/pouchdb-find-7.3.1.tgz#07a633d5ee2bd731dae9f991281cd25212088d29" + integrity sha512-AeqUfAVY1c7IFaY36BRT0vIz9r4VTKq/YOWTmiqndOZUQ/pDGxyO2fNFal6NN3PyYww0JijlD377cPvhnrhJVA== + dependencies: + pouchdb-abstract-mapreduce "7.3.1" + pouchdb-collate "7.3.1" + pouchdb-errors "7.3.1" + pouchdb-fetch "7.3.1" + pouchdb-md5 "7.3.1" + pouchdb-selector-core "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-json@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-json/-/pouchdb-json-7.3.1.tgz#a80a3060aa2914959e4dca7a4e2022ab20c7119a" + integrity sha512-AyOKsmc85/GtHjMZyEacqzja8qLVfycS1hh1oskR+Bm5PIITX52Fb8zyi0hEetV6VC0yuGbn0RqiLjJxQePeqQ== + dependencies: + vuvuzela "1.0.3" + +pouchdb-mapreduce-utils@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.3.1.tgz#f0ac2c8400fbedb705e9226082453ac7d3f2a066" + integrity sha512-oUMcq82+4pTGQ6dtrhgORHOVHZSr6w/5tFIUGlv7RABIDvJarL4snMawADjlpiEwPdiQ/ESG8Fqt8cxqvqsIgg== + dependencies: + argsarray "0.0.1" + inherits "2.0.4" + pouchdb-collections "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-md5@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.3.1.tgz#70fae44f9d27eb4c6a8e7106156b4593d31c1762" + integrity sha512-aDV8ui/mprnL3xmt0gT/81DFtTtJiKyn+OxIAbwKPMfz/rDFdPYvF0BmDC9QxMMzGfkV+JJUjU6at0PPs2mRLg== + dependencies: + pouchdb-binary-utils "7.3.1" + spark-md5 "3.0.2" + +pouchdb-merge@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-merge/-/pouchdb-merge-7.3.1.tgz#97aae682d7d8499b62b6ce234dcb9527c7bf6f02" + integrity sha512-FeK3r35mKimokf2PQ2tUI523QWyZ4lYZ0Yd75FfSch/SPY6wIokz5XBZZ6PHdu5aOJsEKzoLUxr8CpSg9DhcAw== + +pouchdb-selector-core@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.3.1.tgz#08245662de3d61f16ab8dae2b56ef622935b3fb3" + integrity sha512-HBX+nNGXcaL9z0uNpwSMRq2GNZd3EZXW+fe9rJHS0hvJohjZL7aRJLoaXfEdHPRTNW+CpjM3Rny60eGekQdI/w== + dependencies: + pouchdb-collate "7.3.1" + pouchdb-utils "7.3.1" + +pouchdb-utils@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.3.1.tgz#d25f0a034427f388ba5ae37d9ae3fbed210e8720" + integrity sha512-R3hHBo1zTdTu/NFs3iqkcaQAPwhIH0gMIdfVKd5lbDYlmP26rCG5pdS+v7NuoSSFLJ4xxnaGV+Gjf4duYsJ8wQ== + dependencies: + argsarray "0.0.1" + clone-buffer "1.0.0" + immediate "3.3.0" + inherits "2.0.4" + pouchdb-collections "7.3.1" + pouchdb-errors "7.3.1" + pouchdb-md5 "7.3.1" + uuid "8.3.2" + +pouchdb@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/pouchdb/-/pouchdb-7.3.0.tgz#440fbef12dfd8f9002320802528665e883a3b7f8" + integrity sha512-OwsIQGXsfx3TrU1pLruj6PGSwFH+h5k4hGNxFkZ76Um7/ZI8F5TzUHFrpldVVIhfXYi2vP31q0q7ot1FSLFYOw== + dependencies: + abort-controller "3.0.0" + argsarray "0.0.1" + buffer-from "1.1.2" + clone-buffer "1.0.0" + double-ended-queue "2.1.0-0" + fetch-cookie "0.11.0" + immediate "3.3.0" + inherits "2.0.4" + level "6.0.1" + level-codec "9.0.2" + level-write-stream "1.0.0" + leveldown "5.6.0" + levelup "4.4.0" + ltgt "2.2.1" + node-fetch "2.6.7" + readable-stream "1.1.14" + spark-md5 "3.0.2" + through2 "3.0.2" + uuid "8.3.2" + vuvuzela "1.0.3" + +precond@0.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" + integrity sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +prettier-plugin-solidity@^1.0.0-dev.23: + version "1.1.3" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz#9a35124f578404caf617634a8cab80862d726cba" + integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== + dependencies: + "@solidity-parser/parser" "^0.16.0" + semver "^7.3.8" + solidity-comments-extractor "^0.0.7" + +prettier@^2.7.1: + version "2.8.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" + integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== + +proc-log@^2.0.0, proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" + integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promise-to-callback@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" + integrity sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA== + dependencies: + is-fn "^1.0.0" + set-immediate-shim "^1.0.1" + +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== + dependencies: + read "1" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +psl@^1.1.28, psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +pure-rand@^5.0.1: + version "5.0.5" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.5.tgz#bda2a7f6a1fc0f284d78d78ca5902f26f2ad35cf" + integrity sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw== + +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2, queue-microtask@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-cmd-shim@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== + +read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json@^5.0.0, read-package-json@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== + dependencies: + glob "^8.0.1" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^2.0.0" + +read-pkg-up@^7.0.0, read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.0.0, read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read@1, read@^1.0.7, read@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== + dependencies: + mute-stream "~0.0.4" + +readable-stream@1.1.14, readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.2.9, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~0.0.2: + version "0.0.4" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-0.0.4.tgz#f32d76e3fb863344a548d79923007173665b3b8d" + integrity sha512-azrivNydKRYt7zwLV5wWUK7YzKTWs3q87xSmY6DlHapPrCvaT6ZrukvM5erV+yCSSPmZT8zkSdttOHQpWWm9zw== + +readable-stream@~1.0.15: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdir-scoped-modules@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ== + dependencies: + esprima "~4.0.0" + +redux-saga@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.0.0.tgz#acb8b3ed9180fecbe75f342011d75af3ac11045b" + integrity sha512-GvJWs/SzMvEQgeaw6sRMXnS2FghlvEGsHiEtTLpJqc/FHF3I5EE/B+Hq5lyHZ8LSoT2r/X/46uWvkdCnK9WgHA== + dependencies: + "@redux-saga/core" "^1.0.0" + +redux@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A== + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + +redux@^4.0.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" + integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +registry-auth-token@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" + integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + dependencies: + "@pnpm/npm-conf" "^2.1.0" + +request@^2.79.0, request@^2.85.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +reselect-tree@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/reselect-tree/-/reselect-tree-1.3.7.tgz#c3eca58765d9df96bae0017f6ff3504c304cdea0" + integrity sha512-kZN+C1cVJ6fFN2smSb0l4UvYZlRzttgnu183svH4NrU22cBY++ikgr2QT75Uuk4MYpv5gXSVijw4c5U6cx6GKg== + dependencies: + debug "^3.1.0" + json-pointer "^0.6.1" + reselect "^4.0.0" + +reselect@^4.0.0: + version "4.1.7" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42" + integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A== + +resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +responselike@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@0.13.1, retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rustbn.js@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" + integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-event-emitter@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" + integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== + dependencies: + events "^3.0.0" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sc-istanbul@^0.4.5: + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== + +scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@4.0.3, secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +semantic-release@^19.0.3: + version "19.0.5" + resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-19.0.5.tgz#d7fab4b33fc20f1288eafd6c441e5d0938e5e174" + integrity sha512-NMPKdfpXTnPn49FDogMBi36SiBfXkSOJqCkk0E4iWOY1tusvvgBwqUmxTX1kmlT6kIYed9YwNKD1sfPpqa5yaA== + dependencies: + "@semantic-release/commit-analyzer" "^9.0.2" + "@semantic-release/error" "^3.0.0" + "@semantic-release/github" "^8.0.0" + "@semantic-release/npm" "^9.0.0" + "@semantic-release/release-notes-generator" "^10.0.0" + aggregate-error "^3.0.0" + cosmiconfig "^7.0.0" + debug "^4.0.0" + env-ci "^5.0.0" + execa "^5.0.0" + figures "^3.0.0" + find-versions "^4.0.0" + get-stream "^6.0.0" + git-log-parser "^1.2.0" + hook-std "^2.0.0" + hosted-git-info "^4.0.0" + lodash "^4.17.21" + marked "^4.0.10" + marked-terminal "^5.0.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" + p-reduce "^2.0.0" + read-pkg-up "^7.0.0" + resolve-from "^5.0.0" + semver "^7.3.2" + semver-diff "^3.1.1" + signale "^1.2.1" + yargs "^16.2.0" + +semaphore@>=1.0.1, semaphore@^1.0.3: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" + integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +sentence-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" + integrity sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ== + dependencies: + no-case "^2.2.0" + upper-case-first "^1.1.2" + +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallowequal@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signale@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" + integrity sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w== + dependencies: + chalk "^2.3.2" + figures "^2.0.0" + pkg-conf "^2.1.0" + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^2.7.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" + integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +snake-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" + integrity sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q== + dependencies: + no-case "^2.2.0" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +solidity-comments-extractor@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" + integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== + +solidity-coverage@^0.7.21: + version "0.7.22" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.7.22.tgz#168f414be4c0f5303addcf3ab9714cf64f72c080" + integrity sha512-I6Zd5tsFY+gmj1FDIp6w7OrUePx6ZpMgKQZg7dWgPaQHePLi3Jk+iJ8lwZxsWEoNy2Lcv91rMxATWHqRaFdQpw== + dependencies: + "@solidity-parser/parser" "^0.14.0" + "@truffle/provider" "^0.2.24" + chalk "^2.4.2" + death "^1.1.0" + detect-port "^1.3.0" + fs-extra "^8.1.0" + ghost-testrpc "^0.0.2" + global-modules "^2.0.0" + globby "^10.0.1" + jsonschema "^1.2.4" + lodash "^4.17.15" + node-emoji "^1.10.0" + pify "^4.0.1" + recursive-readdir "^2.2.2" + sc-istanbul "^0.4.5" + semver "^7.3.4" + shelljs "^0.8.3" + web3-utils "^1.3.0" + +source-map-support@0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== + dependencies: + amdefine ">=0.0.4" + +spark-md5@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.2.tgz#7952c4a30784347abcee73268e473b9c0167e3fc" + integrity sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw== + +spawn-error-forwarder@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz#1afd94738e999b0346d7b9fc373be55e07577029" + integrity sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split2@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-1.0.0.tgz#52e2e221d88c75f9a73f90556e263ff96772b314" + integrity sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg== + dependencies: + through2 "~2.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^9.0.0, ssri@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +stream-combiner2@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + integrity sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +sublevel-pouchdb@7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/sublevel-pouchdb/-/sublevel-pouchdb-7.3.1.tgz#c1cc03af45081345c7c82821d6dcaa74564ae2ef" + integrity sha512-n+4fK72F/ORdqPwoGgMGYeOrW2HaPpW9o9k80bT1B3Cim5BSvkKkr9WbWOWynni/GHkbCEdvLVFJL1ktosAdhQ== + dependencies: + inherits "2.0.4" + level-codec "9.0.2" + ltgt "2.2.1" + readable-stream "1.1.14" + +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swap-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" + integrity sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ== + dependencies: + lower-case "^1.1.1" + upper-case "^1.1.1" + +swarm-js@^0.1.40: + version "0.1.42" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" + integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^11.8.5" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request "^1.0.1" + +symbol-observable@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: + version "6.1.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^4.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +tempy@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" + integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== + dependencies: + del "^6.0.0" + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through2@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through2@~2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@2, "through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== + +tiny-relative-date@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== + +tiny-typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" + integrity sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA== + +title-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" + integrity sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q== + dependencies: + no-case "^2.2.0" + upper-case "^1.0.3" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +"tough-cookie@^2.3.3 || ^3.0.1 || ^4.0.0": + version "4.1.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" + integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +traverse@~0.6.6: + version "0.6.7" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe" + integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== + +treeverse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +truffle-plugin-verify@^0.5.27: + version "0.5.33" + resolved "https://registry.yarnpkg.com/truffle-plugin-verify/-/truffle-plugin-verify-0.5.33.tgz#709942d621299deaae72b257bf7a5b9e6e036726" + integrity sha512-NonyWylAVAjqHsvBe61iUpWmHQoN6wvz7OaNzIfyHO8+O5ZErPT/lhv+zRT31OLeFOanM403FySY3A/kzpl6fg== + dependencies: + axios "^0.26.1" + cli-logger "^0.5.40" + delay "^5.0.0" + querystring "^0.2.1" + tunnel "0.0.6" + +truffle@^5.8.1: + version "5.8.1" + resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.8.1.tgz#5d9a819e8d303d4e4078e3a475828c36773982f7" + integrity sha512-IxKn2urrbM7FVJP/3aQfC4sw2nG2he5tQehYFQ54M6S5yfWpl4PsxMZuRqid7CqnrkoruoYH6tZXypHqcFVc5Q== + dependencies: + "@truffle/db-loader" "^0.2.20" + "@truffle/debugger" "^11.0.31" + app-module-path "^2.2.0" + ganache "7.7.7" + mocha "10.1.0" + original-require "^1.0.1" + optionalDependencies: + "@truffle/db" "^2.0.20" + +tslib@^2.0.0, tslib@^2.1.0, tslib@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + +tslib@~2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tunnel@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + +tweetnacl-util@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript-compare@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" + integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA== + dependencies: + typescript-logic "^0.0.0" + +typescript-logic@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196" + integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q== + +typescript-tuple@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2" + integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q== + dependencies: + typescript-compare "^0.0.2" + +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +upper-case-first@^1.1.0, upper-case-first@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" + integrity sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ== + dependencies: + upper-case "^1.1.1" + +upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-join@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== + +utf-8-validate@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== + dependencies: + node-gyp-build "^4.3.0" + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0, utf8@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@^0.12.0, util@^0.12.5: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +uuid@8.3.2, uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + +value-or-promise@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" + integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== + +value-or-promise@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" + integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== + +varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vuvuzela@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b" + integrity sha512-Tm7jR1xTzBbPW+6y1tknKiEhz04Wf/1iZkcTJjSFcpNko43+dFW6+OOeQe9taJIug3NdfUAjFKgUSyQrIKaDvQ== + +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web3-bzz@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.4.tgz#9419e606e38a9777443d4ce40506ebd796e06075" + integrity sha512-w9zRhyEqTK/yi0LGRHjZMcPCfP24LBjYXI/9YxFw9VqsIZ9/G0CRCnUt12lUx0A56LRAMpF7iQ8eA73aBcO29Q== + dependencies: + "@types/node" "^12.12.6" + got "9.6.0" + swarm-js "^0.1.40" + +web3-bzz@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.8.2.tgz#67ea1c775874056250eece551ded22905ed08784" + integrity sha512-1EEnxjPnFnvNWw3XeeKuTR8PBxYd0+XWzvaLK7OJC/Go9O8llLGxrxICbKV+8cgIE0sDRBxiYx02X+6OhoAQ9w== + dependencies: + "@types/node" "^12.12.6" + got "12.1.0" + swarm-js "^0.1.40" + +web3-core-helpers@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.4.tgz#f8f808928560d3e64e0c8d7bdd163aa4766bcf40" + integrity sha512-F8PH11qIkE/LpK4/h1fF/lGYgt4B6doeMi8rukeV/s4ivseZHHslv1L6aaijLX/g/j4PsFmR42byynBI/MIzFg== + dependencies: + web3-eth-iban "1.7.4" + web3-utils "1.7.4" + +web3-core-helpers@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.8.2.tgz#82066560f8085e6c7b93bcc8e88b441289ea9f9f" + integrity sha512-6B1eLlq9JFrfealZBomd1fmlq1o4A09vrCVQSa51ANoib/jllT3atZrRDr0zt1rfI7TSZTZBXdN/aTdeN99DWw== + dependencies: + web3-eth-iban "1.8.2" + web3-utils "1.8.2" + +web3-core-method@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.4.tgz#3873c6405e1a0a8a1efc1d7b28de8b7550b00c15" + integrity sha512-56K7pq+8lZRkxJyzf5MHQPI9/VL3IJLoy4L/+q8HRdZJ3CkB1DkXYaXGU2PeylG1GosGiSzgIfu1ljqS7CP9xQ== + dependencies: + "@ethersproject/transactions" "^5.6.2" + web3-core-helpers "1.7.4" + web3-core-promievent "1.7.4" + web3-core-subscriptions "1.7.4" + web3-utils "1.7.4" + +web3-core-method@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.8.2.tgz#ba5ec68084e903f0516415010477618be017eac2" + integrity sha512-1qnr5mw5wVyULzLOrk4B+ryO3gfGjGd/fx8NR+J2xCGLf1e6OSjxT9vbfuQ3fErk/NjSTWWreieYWLMhaogcRA== + dependencies: + "@ethersproject/transactions" "^5.6.2" + web3-core-helpers "1.8.2" + web3-core-promievent "1.8.2" + web3-core-subscriptions "1.8.2" + web3-utils "1.8.2" + +web3-core-promievent@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.4.tgz#80a75633fdfe21fbaae2f1e38950edb2f134868c" + integrity sha512-o4uxwXKDldN7ER7VUvDfWsqTx9nQSP1aDssi1XYXeYC2xJbVo0n+z6ryKtmcoWoRdRj7uSpVzal3nEmlr480mA== + dependencies: + eventemitter3 "4.0.4" + +web3-core-promievent@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.8.2.tgz#e670d6b4453632e6ecfd9ad82da44f77ac1585c9" + integrity sha512-nvkJWDVgoOSsolJldN33tKW6bKKRJX3MCPDYMwP5SUFOA/mCzDEoI88N0JFofDTXkh1k7gOqp1pvwi9heuaxGg== + dependencies: + eventemitter3 "4.0.4" + +web3-core-requestmanager@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.4.tgz#2dc8a526dab8183dca3fef54658621801b1d0469" + integrity sha512-IuXdAm65BQtPL4aI6LZJJOrKAs0SM5IK2Cqo2/lMNvVMT9Kssq6qOk68Uf7EBDH0rPuINi+ReLP+uH+0g3AnPA== + dependencies: + util "^0.12.0" + web3-core-helpers "1.7.4" + web3-providers-http "1.7.4" + web3-providers-ipc "1.7.4" + web3-providers-ws "1.7.4" + +web3-core-requestmanager@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.8.2.tgz#dda95e83ca4808949612a41e54ecea557f78ef26" + integrity sha512-p1d090RYs5Mu7DK1yyc3GCBVZB/03rBtFhYFoS2EruGzOWs/5Q0grgtpwS/DScdRAm8wB8mYEBhY/RKJWF6B2g== + dependencies: + util "^0.12.5" + web3-core-helpers "1.8.2" + web3-providers-http "1.8.2" + web3-providers-ipc "1.8.2" + web3-providers-ws "1.8.2" + +web3-core-subscriptions@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.4.tgz#cfbd3fa71081a8c8c6f1a64577a1a80c5bd9826f" + integrity sha512-VJvKWaXRyxk2nFWumOR94ut9xvjzMrRtS38c4qj8WBIRSsugrZr5lqUwgndtj0qx4F+50JhnU++QEqUEAtKm3g== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.4" + +web3-core-subscriptions@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.8.2.tgz#0c8bd49439d83c6f0a03c70f00b24a915a70a5ed" + integrity sha512-vXQogHDmAIQcKpXvGiMddBUeP9lnKgYF64+yQJhPNE5PnWr1sAibXuIPV7mIPihpFr/n/DORRj6Wh1pUv9zaTw== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.2" + +web3-core@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.4.tgz#943fff99134baedafa7c65b4a0bbd424748429ff" + integrity sha512-L0DCPlIh9bgIED37tYbe7bsWrddoXYc897ANGvTJ6MFkSNGiMwDkTLWSgYd9Mf8qu8b4iuPqXZHMwIo4atoh7Q== + dependencies: + "@types/bn.js" "^5.1.0" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.7.4" + web3-core-method "1.7.4" + web3-core-requestmanager "1.7.4" + web3-utils "1.7.4" + +web3-core@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.8.2.tgz#333e93d7872b1a36efe758ed8b89a7acbdd962c2" + integrity sha512-DJTVEAYcNqxkqruJE+Rxp3CIv0y5AZMwPHQmOkz/cz+MM75SIzMTc0AUdXzGyTS8xMF8h3YWMQGgGEy8SBf1PQ== + dependencies: + "@types/bn.js" "^5.1.0" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.8.2" + web3-core-method "1.8.2" + web3-core-requestmanager "1.8.2" + web3-utils "1.8.2" + +web3-eth-abi@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.4.tgz#3fee967bafd67f06b99ceaddc47ab0970f2a614a" + integrity sha512-eMZr8zgTbqyL9MCTCAvb67RbVyN5ZX7DvA0jbLOqRWCiw+KlJKTGnymKO6jPE8n5yjk4w01e165Qb11hTDwHgg== + dependencies: + "@ethersproject/abi" "^5.6.3" + web3-utils "1.7.4" + +web3-eth-abi@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.8.2.tgz#16e1e9be40e2527404f041a4745111211488f31a" + integrity sha512-Om9g3kaRNjqiNPAgKwGT16y+ZwtBzRe4ZJFGjLiSs6v5I7TPNF+rRMWuKnR6jq0azQZDj6rblvKFMA49/k48Og== + dependencies: + "@ethersproject/abi" "^5.6.3" + web3-utils "1.8.2" + +web3-eth-accounts@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.4.tgz#7a24a4dfe947f7e9d1bae678529e591aa146167a" + integrity sha512-Y9vYLRKP7VU7Cgq6wG1jFaG2k3/eIuiTKAG8RAuQnb6Cd9k5BRqTm5uPIiSo0AP/u11jDomZ8j7+WEgkU9+Btw== + dependencies: + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "3.3.2" + web3-core "1.7.4" + web3-core-helpers "1.7.4" + web3-core-method "1.7.4" + web3-utils "1.7.4" + +web3-eth-accounts@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.8.2.tgz#b894f5d5158fcae429da42de75d96520d0712971" + integrity sha512-c367Ij63VCz9YdyjiHHWLFtN85l6QghgwMQH2B1eM/p9Y5lTlTX7t/Eg/8+f1yoIStXbk2w/PYM2lk+IkbqdLA== + dependencies: + "@ethereumjs/common" "2.5.0" + "@ethereumjs/tx" "3.3.2" + eth-lib "0.2.8" + ethereumjs-util "^7.1.5" + scrypt-js "^3.0.1" + uuid "^9.0.0" + web3-core "1.8.2" + web3-core-helpers "1.8.2" + web3-core-method "1.8.2" + web3-utils "1.8.2" + +web3-eth-contract@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.4.tgz#e5761cfb43d453f57be4777b2e5e7e1082078ff7" + integrity sha512-ZgSZMDVI1pE9uMQpK0T0HDT2oewHcfTCv0osEqf5qyn5KrcQDg1GT96/+S0dfqZ4HKj4lzS5O0rFyQiLPQ8LzQ== + dependencies: + "@types/bn.js" "^5.1.0" + web3-core "1.7.4" + web3-core-helpers "1.7.4" + web3-core-method "1.7.4" + web3-core-promievent "1.7.4" + web3-core-subscriptions "1.7.4" + web3-eth-abi "1.7.4" + web3-utils "1.7.4" + +web3-eth-contract@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.8.2.tgz#5388b7130923d2b790c09a420391a81312a867fb" + integrity sha512-ID5A25tHTSBNwOPjiXSVzxruz006ULRIDbzWTYIFTp7NJ7vXu/kynKK2ag/ObuTqBpMbobP8nXcA9b5EDkIdQA== + dependencies: + "@types/bn.js" "^5.1.0" + web3-core "1.8.2" + web3-core-helpers "1.8.2" + web3-core-method "1.8.2" + web3-core-promievent "1.8.2" + web3-core-subscriptions "1.8.2" + web3-eth-abi "1.8.2" + web3-utils "1.8.2" + +web3-eth-ens@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.4.tgz#346720305379c0a539e226141a9602f1da7bc0c8" + integrity sha512-Gw5CVU1+bFXP5RVXTCqJOmHn71X2ghNk9VcEH+9PchLr0PrKbHTA3hySpsPco1WJAyK4t8SNQVlNr3+bJ6/WZA== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.7.4" + web3-core-helpers "1.7.4" + web3-core-promievent "1.7.4" + web3-eth-abi "1.7.4" + web3-eth-contract "1.7.4" + web3-utils "1.7.4" + +web3-eth-ens@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.8.2.tgz#0a086ad4d919102e28b9fd3036df246add9df22a" + integrity sha512-PWph7C/CnqdWuu1+SH4U4zdrK4t2HNt0I4XzPYFdv9ugE8EuojselioPQXsVGvjql+Nt3jDLvQvggPqlMbvwRw== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.8.2" + web3-core-helpers "1.8.2" + web3-core-promievent "1.8.2" + web3-eth-abi "1.8.2" + web3-eth-contract "1.8.2" + web3-utils "1.8.2" + +web3-eth-iban@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.4.tgz#711fb2547fdf0f988060027331b2b6c430505753" + integrity sha512-XyrsgWlZQMv5gRcjXMsNvAoCRvV5wN7YCfFV5+tHUCqN8g9T/o4XUS20vDWD0k4HNiAcWGFqT1nrls02MGZ08w== + dependencies: + bn.js "^5.2.1" + web3-utils "1.7.4" + +web3-eth-iban@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.8.2.tgz#5cb3022234b13986f086353b53f0379a881feeaf" + integrity sha512-h3vNblDWkWMuYx93Q27TAJz6lhzpP93EiC3+45D6xoz983p6si773vntoQ+H+5aZhwglBtoiBzdh7PSSOnP/xQ== + dependencies: + bn.js "^5.2.1" + web3-utils "1.8.2" + +web3-eth-personal@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.4.tgz#22c399794cb828a75703df8bb4b3c1331b471546" + integrity sha512-O10C1Hln5wvLQsDhlhmV58RhXo+GPZ5+W76frSsyIrkJWLtYQTCr5WxHtRC9sMD1idXLqODKKgI2DL+7xeZ0/g== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.7.4" + web3-core-helpers "1.7.4" + web3-core-method "1.7.4" + web3-net "1.7.4" + web3-utils "1.7.4" + +web3-eth-personal@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.8.2.tgz#3526c1ebaa4e7bf3a0a8ec77e34f067cc9a750b2" + integrity sha512-Vg4HfwCr7doiUF/RC+Jz0wT4+cYaXcOWMAW2AHIjHX6Z7Xwa8nrURIeQgeEE62qcEHAzajyAdB1u6bJyTfuCXw== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.8.2" + web3-core-helpers "1.8.2" + web3-core-method "1.8.2" + web3-net "1.8.2" + web3-utils "1.8.2" + +web3-eth@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.4.tgz#a7c1d3ccdbba4de4a82df7e3c4db716e4a944bf2" + integrity sha512-JG0tTMv0Ijj039emXNHi07jLb0OiWSA9O24MRSk5vToTQyDNXihdF2oyq85LfHuF690lXZaAXrjhtLNlYqb7Ug== + dependencies: + web3-core "1.7.4" + web3-core-helpers "1.7.4" + web3-core-method "1.7.4" + web3-core-subscriptions "1.7.4" + web3-eth-abi "1.7.4" + web3-eth-accounts "1.7.4" + web3-eth-contract "1.7.4" + web3-eth-ens "1.7.4" + web3-eth-iban "1.7.4" + web3-eth-personal "1.7.4" + web3-net "1.7.4" + web3-utils "1.7.4" + +web3-eth@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.8.2.tgz#8562287ae1803c30eb54dc7d832092e5739ce06a" + integrity sha512-JoTiWWc4F4TInpbvDUGb0WgDYJsFhuIjJlinc5ByjWD88Gvh+GKLsRjjFdbqe5YtwIGT4NymwoC5LQd1K6u/QQ== + dependencies: + web3-core "1.8.2" + web3-core-helpers "1.8.2" + web3-core-method "1.8.2" + web3-core-subscriptions "1.8.2" + web3-eth-abi "1.8.2" + web3-eth-accounts "1.8.2" + web3-eth-contract "1.8.2" + web3-eth-ens "1.8.2" + web3-eth-iban "1.8.2" + web3-eth-personal "1.8.2" + web3-net "1.8.2" + web3-utils "1.8.2" + +web3-net@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.4.tgz#3153dfd3423262dd6fbec7aae5467202c4cad431" + integrity sha512-d2Gj+DIARHvwIdmxFQ4PwAAXZVxYCR2lET0cxz4KXbE5Og3DNjJi+MoPkX+WqoUXqimu/EOd4Cd+7gefqVAFDg== + dependencies: + web3-core "1.7.4" + web3-core-method "1.7.4" + web3-utils "1.7.4" + +web3-net@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.8.2.tgz#97e1e0015fabc4cda31017813e98d0b5468dd04f" + integrity sha512-1itkDMGmbgb83Dg9nporFes9/fxsU7smJ3oRXlFkg4ZHn8YJyP1MSQFPJWWwSc+GrcCFt4O5IrUTvEkHqE3xag== + dependencies: + web3-core "1.8.2" + web3-core-method "1.8.2" + web3-utils "1.8.2" + +web3-provider-engine@16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.3.tgz#8ff93edf3a8da2f70d7f85c5116028c06a0d9f07" + integrity sha512-Q3bKhGqLfMTdLvkd4TtkGYJHcoVQ82D1l8jTIwwuJp/sAp7VHnRYb9YJ14SW/69VMWoOhSpPLZV2tWb9V0WJoA== + dependencies: + "@ethereumjs/tx" "^3.3.0" + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^4.4.2" + eth-json-rpc-filters "^4.2.1" + eth-json-rpc-infura "^5.1.0" + eth-json-rpc-middleware "^6.0.0" + eth-rpc-errors "^3.0.0" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + +web3-providers-http@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.4.tgz#8209cdcb115db5ccae1f550d1c4e3005e7538d02" + integrity sha512-AU+/S+49rcogUER99TlhW+UBMk0N2DxvN54CJ2pK7alc2TQ7+cprNPLHJu4KREe8ndV0fT6JtWUfOMyTvl+FRA== + dependencies: + web3-core-helpers "1.7.4" + xhr2-cookies "1.1.0" + +web3-providers-http@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.8.2.tgz#fbda3a3bbc8db004af36e91bec35f80273b37885" + integrity sha512-2xY94IIEQd16+b+vIBF4IC1p7GVaz9q4EUFscvMUjtEq4ru4Atdzjs9GP+jmcoo49p70II0UV3bqQcz0TQfVyQ== + dependencies: + abortcontroller-polyfill "^1.7.3" + cross-fetch "^3.1.4" + es6-promise "^4.2.8" + web3-core-helpers "1.8.2" + +web3-providers-ipc@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.4.tgz#02e85e99e48f432c9d34cee7d786c3685ec9fcfa" + integrity sha512-jhArOZ235dZy8fS8090t60nTxbd1ap92ibQw5xIrAQ9m7LcZKNfmLAQUVsD+3dTFvadRMi6z1vCO7zRi84gWHw== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.7.4" + +web3-providers-ipc@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.8.2.tgz#e52a7250f40c83b99a2482ec5b4cf2728377ae5c" + integrity sha512-p6fqKVGFg+WiXGHWnB1hu43PbvPkDHTz4RgoEzbXugv5rtv5zfYLqm8Ba6lrJOS5ks9kGKR21a0y3NzE3u7V4w== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.8.2" + +web3-providers-ws@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.4.tgz#6e60bcefb456f569a3e766e386d7807a96f90595" + integrity sha512-g72X77nrcHMFU8hRzQJzfgi/072n8dHwRCoTw+WQrGp+XCQ71fsk2qIu3Tp+nlp5BPn8bRudQbPblVm2uT4myQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.7.4" + websocket "^1.0.32" + +web3-providers-ws@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.8.2.tgz#56a2b701387011aca9154ca4bc06ea4b5f27e4ef" + integrity sha512-3s/4K+wHgbiN+Zrp9YjMq2eqAF6QGABw7wFftPdx+m5hWImV27/MoIx57c6HffNRqZXmCHnfWWFCNHHsi7wXnA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.2" + websocket "^1.0.32" + +web3-shh@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.4.tgz#bee91cce2737c529fd347274010b548b6ea060f1" + integrity sha512-mlSZxSYcMkuMCxqhTYnZkUdahZ11h+bBv/8TlkXp/IHpEe4/Gg+KAbmfudakq3EzG/04z70XQmPgWcUPrsEJ+A== + dependencies: + web3-core "1.7.4" + web3-core-method "1.7.4" + web3-core-subscriptions "1.7.4" + web3-net "1.7.4" + +web3-shh@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.8.2.tgz#217a417f0d6e243dd4d441848ffc2bd164cea8a0" + integrity sha512-uZ+3MAoNcaJsXXNCDnizKJ5viBNeHOFYsCbFhV755Uu52FswzTOw6DtE7yK9nYXMtIhiSgi7nwl1RYzP8pystw== + dependencies: + web3-core "1.8.2" + web3-core-method "1.8.2" + web3-core-subscriptions "1.8.2" + web3-net "1.8.2" + +web3-utils@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.4.tgz#eb6fa3706b058602747228234453811bbee017f5" + integrity sha512-acBdm6Evd0TEZRnChM/MCvGsMwYKmSh7OaUfNf5OKG0CIeGWD/6gqLOWIwmwSnre/2WrA1nKGId5uW2e5EfluA== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3-utils@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.2.tgz#c32dec5e9b955acbab220eefd7715bc540b75cc9" + integrity sha512-v7j6xhfLQfY7xQDrUP0BKbaNrmZ2/+egbqP9q3KYmOiPpnvAfol+32slgL0WX/5n8VPvKCK5EZ1HGrAVICSToA== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3-utils@^1.3.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.9.0.tgz#7c5775a47586cefb4ad488831be8f6627be9283d" + integrity sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.4.tgz#00c9aef8e13ade92fd773d845fff250535828e93" + integrity sha512-iFGK5jO32vnXM/ASaJBaI0+gVR6uHozvYdxkdhaeOCD6HIQ4iIXadbO2atVpE9oc/H8l2MovJ4LtPhG7lIBN8A== + dependencies: + web3-bzz "1.7.4" + web3-core "1.7.4" + web3-eth "1.7.4" + web3-eth-personal "1.7.4" + web3-net "1.7.4" + web3-shh "1.7.4" + web3-utils "1.7.4" + +web3@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.8.2.tgz#95a4e5398fd0f01325264bf8e5e8cdc69a7afe86" + integrity sha512-92h0GdEHW9wqDICQQKyG4foZBYi0OQkyg4CRml2F7XBl/NG+fu9o6J19kzfFXzSBoA4DnJXbyRgj/RHZv5LRiw== + dependencies: + web3-bzz "1.8.2" + web3-core "1.8.2" + web3-eth "1.8.2" + web3-eth-personal "1.8.2" + web3-net "1.8.2" + web3-shh "1.8.2" + web3-utils "1.8.2" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +websocket@^1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +whatwg-fetch@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + +which-typed-array@^1.1.2: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^1.1.1, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +workerpool@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" + integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +write-stream@~0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/write-stream/-/write-stream-0.4.3.tgz#83cc8c0347d0af6057a93862b4e3ae01de5c81c1" + integrity sha512-IJrvkhbAnj89W/GAVdVgbnPiVw5Ntg/B4tc/MUCIEwj/g6JIww1DWJyB/yBMT3yw2/TkT6IUZ0+IYef3flEw8A== + dependencies: + readable-stream "~0.0.2" + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +ws@^5.1.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== + dependencies: + async-limiter "~1.0.0" + +ws@^7.2.0: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + +xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== + dependencies: + buffer-to-arraybuffer "^0.0.5" + object-assign "^4.1.1" + query-string "^5.0.1" + simple-get "^2.7.0" + timed-out "^4.0.1" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g== + dependencies: + cookiejar "^2.1.1" + +xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== + +xss@^1.0.8: + version "1.0.14" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" + integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== + dependencies: + object-keys "~0.4.0" + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== + +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^13.1.0: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.0" + +yargs@16.2.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==