{"id":"3c43d22846717a5d40658f0cc68ec698","_format":"hh-sol-build-info-1","solcVersion":"0.8.24","solcLongVersion":"0.8.24+commit.e11b9ed9","input":{"language":"Solidity","sources":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC6093.sol)\n\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC20InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC20InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     * @param allowance Amount of tokens a `spender` is allowed to operate with.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC20InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n    /**\n     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721.\n     * Used in balance queries.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721InvalidOwner(address owner);\n\n    /**\n     * @dev Indicates a `tokenId` whose `owner` is the zero address.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721NonexistentToken(uint256 tokenId);\n\n    /**\n     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param tokenId Identifier number of a token.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC721InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC721InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC721InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC1155InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC1155InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC1155MissingApprovalForAll(address operator, address owner);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC1155InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC1155InvalidOperator(address operator);\n\n    /**\n     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n     * Used in batch transfers.\n     * @param idsLength Length of the array of token identifiers\n     * @param valuesLength Length of the array of token amounts\n     */\n    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.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 *\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 * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\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 ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n    mapping(address account => uint256) private _balances;\n\n    mapping(address account => mapping(address spender => 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     * Both values are immutable: they can only be set once during 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 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 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 default value returned by this function, unless\n     * it's 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 returns (uint8) {\n        return 18;\n    }\n\n    /// @inheritdoc IERC20\n    function totalSupply() public view virtual returns (uint256) {\n        return _totalSupply;\n    }\n\n    /// @inheritdoc IERC20\n    function balanceOf(address account) public view virtual 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 `value`.\n     */\n    function transfer(address to, uint256 value) public virtual returns (bool) {\n        address owner = _msgSender();\n        _transfer(owner, to, value);\n        return true;\n    }\n\n    /// @inheritdoc IERC20\n    function allowance(address owner, address spender) public view virtual returns (uint256) {\n        return _allowances[owner][spender];\n    }\n\n    /**\n     * @dev See {IERC20-approve}.\n     *\n     * NOTE: If `value` 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 value) public virtual returns (bool) {\n        address owner = _msgSender();\n        _approve(owner, spender, value);\n        return true;\n    }\n\n    /**\n     * @dev See {IERC20-transferFrom}.\n     *\n     * Skips emitting an {Approval} event indicating an allowance update. This is not\n     * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\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 `value`.\n     * - the caller must have allowance for ``from``'s tokens of at least\n     * `value`.\n     */\n    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n        address spender = _msgSender();\n        _spendAllowance(from, spender, value);\n        _transfer(from, to, value);\n        return true;\n    }\n\n    /**\n     * @dev Moves a `value` 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     * NOTE: This function is not virtual, {_update} should be overridden instead.\n     */\n    function _transfer(address from, address to, uint256 value) internal {\n        if (from == address(0)) {\n            revert ERC20InvalidSender(address(0));\n        }\n        if (to == address(0)) {\n            revert ERC20InvalidReceiver(address(0));\n        }\n        _update(from, to, value);\n    }\n\n    /**\n     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n     * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n     * this function.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _update(address from, address to, uint256 value) internal virtual {\n        if (from == address(0)) {\n            // Overflow check required: The rest of the code assumes that totalSupply never overflows\n            _totalSupply += value;\n        } else {\n            uint256 fromBalance = _balances[from];\n            if (fromBalance < value) {\n                revert ERC20InsufficientBalance(from, fromBalance, value);\n            }\n            unchecked {\n                // Overflow not possible: value <= fromBalance <= totalSupply.\n                _balances[from] = fromBalance - value;\n            }\n        }\n\n        if (to == address(0)) {\n            unchecked {\n                // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n                _totalSupply -= value;\n            }\n        } else {\n            unchecked {\n                // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n                _balances[to] += value;\n            }\n        }\n\n        emit Transfer(from, to, value);\n    }\n\n    /**\n     * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n     * Relies on the `_update` mechanism\n     *\n     * Emits a {Transfer} event with `from` set to the zero address.\n     *\n     * NOTE: This function is not virtual, {_update} should be overridden instead.\n     */\n    function _mint(address account, uint256 value) internal {\n        if (account == address(0)) {\n            revert ERC20InvalidReceiver(address(0));\n        }\n        _update(address(0), account, value);\n    }\n\n    /**\n     * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n     * Relies on the `_update` mechanism.\n     *\n     * Emits a {Transfer} event with `to` set to the zero address.\n     *\n     * NOTE: This function is not virtual, {_update} should be overridden instead\n     */\n    function _burn(address account, uint256 value) internal {\n        if (account == address(0)) {\n            revert ERC20InvalidSender(address(0));\n        }\n        _update(account, address(0), value);\n    }\n\n    /**\n     * @dev Sets `value` 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     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n     */\n    function _approve(address owner, address spender, uint256 value) internal {\n        _approve(owner, spender, value, true);\n    }\n\n    /**\n     * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n     *\n     * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n     * `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any\n     * `Approval` event during `transferFrom` operations.\n     *\n     * Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to\n     * true using the following override:\n     *\n     * ```solidity\n     * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n     *     super._approve(owner, spender, value, true);\n     * }\n     * ```\n     *\n     * Requirements are the same as {_approve}.\n     */\n    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n        if (owner == address(0)) {\n            revert ERC20InvalidApprover(address(0));\n        }\n        if (spender == address(0)) {\n            revert ERC20InvalidSpender(address(0));\n        }\n        _allowances[owner][spender] = value;\n        if (emitEvent) {\n            emit Approval(owner, spender, value);\n        }\n    }\n\n    /**\n     * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n     *\n     * Does not update the allowance value in case of infinite allowance.\n     * Revert if not enough allowance is available.\n     *\n     * Does not emit an {Approval} event.\n     */\n    function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n        uint256 currentAllowance = allowance(owner, spender);\n        if (currentAllowance < type(uint256).max) {\n            if (currentAllowance < value) {\n                revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n            }\n            unchecked {\n                _approve(owner, spender, currentAllowance - value, false);\n            }\n        }\n    }\n}\n"},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\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 v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\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 value of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the value of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves a `value` amount of 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 value) 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 a `value` amount of tokens as the allowance of `spender` over the\n     * 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 value) external returns (bool);\n\n    /**\n     * @dev Moves a `value` amount of tokens from `from` to `to` using the\n     * allowance mechanism. `value` 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(address from, address to, uint256 value) external returns (bool);\n}\n"},"@openzeppelin/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\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    function _contextSuffixLength() internal view virtual returns (uint256) {\n        return 0;\n    }\n}\n"},"contracts/EdgeSwarm.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\ncontract EdgeSwarm is ERC20 {\n    address public owner;\n\n    // This stores the number of tasks completed by each wallet.\n    // Your Android App uses this for the raw integer balance.\n    mapping(address => uint256) public ubiEarned;\n\n    struct WorkTask {\n        uint256 taskId;\n        int256 predictionScore; // The confidence from your LoRA logic\n        address worker;\n        uint256 timestamp;\n        string fileHash;        // <-- ADDED: Stores the JSON fingerprint on-chain\n    }\n\n    // Maps Task ID to the result submitted by the phone\n    mapping(uint256 => WorkTask) public ledger;\n\n    // <-- ADDED string fileHash: This allows the Dashboard to generate the URL\n    event WorkVerified(address indexed worker, uint256 taskId, int256 score, string fileHash);\n\n    constructor() ERC20(\"Swarm Token\", \"SWM\") {\n        owner = msg.sender;\n    }\n\n    /**\n     * @dev This is the function your Pixel 10 calls.\n     * <-- ADDED string memory _fileHash to the required parameters\n     */\n    function submitWork(uint256 _taskId, int256 _score, string memory _fileHash) public {\n        require(ledger[_taskId].worker == address(0), \"Task already completed\");\n\n        // 1. Record the \"Real Work\" in the ledger\n        ledger[_taskId] = WorkTask({\n            taskId: _taskId,\n            predictionScore: _score,\n            worker: msg.sender,\n            timestamp: block.timestamp,\n            fileHash: _fileHash // Save the hash to the ledger\n        });\n\n        // 2. INCREMENT THE COUNTER: This ensures your app sees the new balance.\n        ubiEarned[msg.sender] += 1;\n\n        // 3. Reward the device with 1 full ERC20 token (18 decimals)\n        _mint(msg.sender, 1 * 10**18);\n\n        // 4. Emit the event with the hash so the Dashboard can read it\n        emit WorkVerified(msg.sender, _taskId, _score, _fileHash);\n    }\n}\n"}},"settings":{"evmVersion":"paris","optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","exportedSymbols":{"IERC1155Errors":[136],"IERC20Errors":[41],"IERC721Errors":[89]},"id":137,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.8",".4"],"nodeType":"PragmaDirective","src":"113:24:0"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":2,"nodeType":"StructuredDocumentation","src":"139:141:0","text":" @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens."},"fullyImplemented":true,"id":41,"linearizedBaseContracts":[41],"name":"IERC20Errors","nameLocation":"291:12:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":3,"nodeType":"StructuredDocumentation","src":"310:309:0","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"e450d38c","id":11,"name":"ERC20InsufficientBalance","nameLocation":"630:24:0","nodeType":"ErrorDefinition","parameters":{"id":10,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5,"mutability":"mutable","name":"sender","nameLocation":"663:6:0","nodeType":"VariableDeclaration","scope":11,"src":"655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4,"name":"address","nodeType":"ElementaryTypeName","src":"655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7,"mutability":"mutable","name":"balance","nameLocation":"679:7:0","nodeType":"VariableDeclaration","scope":11,"src":"671:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6,"name":"uint256","nodeType":"ElementaryTypeName","src":"671:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9,"mutability":"mutable","name":"needed","nameLocation":"696:6:0","nodeType":"VariableDeclaration","scope":11,"src":"688:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"654:49:0"},"src":"624:80:0"},{"documentation":{"id":12,"nodeType":"StructuredDocumentation","src":"710:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"96c6fd1e","id":16,"name":"ERC20InvalidSender","nameLocation":"873:18:0","nodeType":"ErrorDefinition","parameters":{"id":15,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14,"mutability":"mutable","name":"sender","nameLocation":"900:6:0","nodeType":"VariableDeclaration","scope":16,"src":"892:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13,"name":"address","nodeType":"ElementaryTypeName","src":"892:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"891:16:0"},"src":"867:41:0"},{"documentation":{"id":17,"nodeType":"StructuredDocumentation","src":"914:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"ec442f05","id":21,"name":"ERC20InvalidReceiver","nameLocation":"1084:20:0","nodeType":"ErrorDefinition","parameters":{"id":20,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"mutability":"mutable","name":"receiver","nameLocation":"1113:8:0","nodeType":"VariableDeclaration","scope":21,"src":"1105:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18,"name":"address","nodeType":"ElementaryTypeName","src":"1105:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1104:18:0"},"src":"1078:45:0"},{"documentation":{"id":22,"nodeType":"StructuredDocumentation","src":"1129:345:0","text":" @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer."},"errorSelector":"fb8f41b2","id":30,"name":"ERC20InsufficientAllowance","nameLocation":"1485:26:0","nodeType":"ErrorDefinition","parameters":{"id":29,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"spender","nameLocation":"1520:7:0","nodeType":"VariableDeclaration","scope":30,"src":"1512:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23,"name":"address","nodeType":"ElementaryTypeName","src":"1512:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26,"mutability":"mutable","name":"allowance","nameLocation":"1537:9:0","nodeType":"VariableDeclaration","scope":30,"src":"1529:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint256","nodeType":"ElementaryTypeName","src":"1529:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28,"mutability":"mutable","name":"needed","nameLocation":"1556:6:0","nodeType":"VariableDeclaration","scope":30,"src":"1548:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27,"name":"uint256","nodeType":"ElementaryTypeName","src":"1548:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1511:52:0"},"src":"1479:85:0"},{"documentation":{"id":31,"nodeType":"StructuredDocumentation","src":"1570:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"e602df05","id":35,"name":"ERC20InvalidApprover","nameLocation":"1755:20:0","nodeType":"ErrorDefinition","parameters":{"id":34,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33,"mutability":"mutable","name":"approver","nameLocation":"1784:8:0","nodeType":"VariableDeclaration","scope":35,"src":"1776:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32,"name":"address","nodeType":"ElementaryTypeName","src":"1776:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1775:18:0"},"src":"1749:45:0"},{"documentation":{"id":36,"nodeType":"StructuredDocumentation","src":"1800:195:0","text":" @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"94280d62","id":40,"name":"ERC20InvalidSpender","nameLocation":"2006:19:0","nodeType":"ErrorDefinition","parameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"mutability":"mutable","name":"spender","nameLocation":"2034:7:0","nodeType":"VariableDeclaration","scope":40,"src":"2026:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37,"name":"address","nodeType":"ElementaryTypeName","src":"2026:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2025:17:0"},"src":"2000:43:0"}],"scope":137,"src":"281:1764:0","usedErrors":[11,16,21,30,35,40],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC721Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":42,"nodeType":"StructuredDocumentation","src":"2047:143:0","text":" @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens."},"fullyImplemented":true,"id":89,"linearizedBaseContracts":[89],"name":"IERC721Errors","nameLocation":"2201:13:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":43,"nodeType":"StructuredDocumentation","src":"2221:220:0","text":" @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721.\n Used in balance queries.\n @param owner Address of the current owner of a token."},"errorSelector":"89c62b64","id":47,"name":"ERC721InvalidOwner","nameLocation":"2452:18:0","nodeType":"ErrorDefinition","parameters":{"id":46,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45,"mutability":"mutable","name":"owner","nameLocation":"2479:5:0","nodeType":"VariableDeclaration","scope":47,"src":"2471:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44,"name":"address","nodeType":"ElementaryTypeName","src":"2471:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2470:15:0"},"src":"2446:40:0"},{"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"2492:132:0","text":" @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token."},"errorSelector":"7e273289","id":52,"name":"ERC721NonexistentToken","nameLocation":"2635:22:0","nodeType":"ErrorDefinition","parameters":{"id":51,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50,"mutability":"mutable","name":"tokenId","nameLocation":"2666:7:0","nodeType":"VariableDeclaration","scope":52,"src":"2658:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2657:17:0"},"src":"2629:46:0"},{"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"2681:289:0","text":" @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token."},"errorSelector":"64283d7b","id":61,"name":"ERC721IncorrectOwner","nameLocation":"2981:20:0","nodeType":"ErrorDefinition","parameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55,"mutability":"mutable","name":"sender","nameLocation":"3010:6:0","nodeType":"VariableDeclaration","scope":61,"src":"3002:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54,"name":"address","nodeType":"ElementaryTypeName","src":"3002:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57,"mutability":"mutable","name":"tokenId","nameLocation":"3026:7:0","nodeType":"VariableDeclaration","scope":61,"src":"3018:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56,"name":"uint256","nodeType":"ElementaryTypeName","src":"3018:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59,"mutability":"mutable","name":"owner","nameLocation":"3043:5:0","nodeType":"VariableDeclaration","scope":61,"src":"3035:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58,"name":"address","nodeType":"ElementaryTypeName","src":"3035:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3001:48:0"},"src":"2975:75:0"},{"documentation":{"id":62,"nodeType":"StructuredDocumentation","src":"3056:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"73c6ac6e","id":66,"name":"ERC721InvalidSender","nameLocation":"3219:19:0","nodeType":"ErrorDefinition","parameters":{"id":65,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64,"mutability":"mutable","name":"sender","nameLocation":"3247:6:0","nodeType":"VariableDeclaration","scope":66,"src":"3239:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63,"name":"address","nodeType":"ElementaryTypeName","src":"3239:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3238:16:0"},"src":"3213:42:0"},{"documentation":{"id":67,"nodeType":"StructuredDocumentation","src":"3261:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"64a0ae92","id":71,"name":"ERC721InvalidReceiver","nameLocation":"3431:21:0","nodeType":"ErrorDefinition","parameters":{"id":70,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"mutability":"mutable","name":"receiver","nameLocation":"3461:8:0","nodeType":"VariableDeclaration","scope":71,"src":"3453:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":68,"name":"address","nodeType":"ElementaryTypeName","src":"3453:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3452:18:0"},"src":"3425:46:0"},{"documentation":{"id":72,"nodeType":"StructuredDocumentation","src":"3477:247:0","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token."},"errorSelector":"177e802f","id":78,"name":"ERC721InsufficientApproval","nameLocation":"3735:26:0","nodeType":"ErrorDefinition","parameters":{"id":77,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74,"mutability":"mutable","name":"operator","nameLocation":"3770:8:0","nodeType":"VariableDeclaration","scope":78,"src":"3762:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76,"mutability":"mutable","name":"tokenId","nameLocation":"3788:7:0","nodeType":"VariableDeclaration","scope":78,"src":"3780:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75,"name":"uint256","nodeType":"ElementaryTypeName","src":"3780:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3761:35:0"},"src":"3729:68:0"},{"documentation":{"id":79,"nodeType":"StructuredDocumentation","src":"3803:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"a9fbf51f","id":83,"name":"ERC721InvalidApprover","nameLocation":"3988:21:0","nodeType":"ErrorDefinition","parameters":{"id":82,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"mutability":"mutable","name":"approver","nameLocation":"4018:8:0","nodeType":"VariableDeclaration","scope":83,"src":"4010:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4009:18:0"},"src":"3982:46:0"},{"documentation":{"id":84,"nodeType":"StructuredDocumentation","src":"4034:197:0","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"5b08ba18","id":88,"name":"ERC721InvalidOperator","nameLocation":"4242:21:0","nodeType":"ErrorDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86,"mutability":"mutable","name":"operator","nameLocation":"4272:8:0","nodeType":"VariableDeclaration","scope":88,"src":"4264:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"4264:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4263:18:0"},"src":"4236:46:0"}],"scope":137,"src":"2191:2093:0","usedErrors":[47,52,61,66,71,78,83,88],"usedEvents":[]},{"abstract":false,"baseContracts":[],"canonicalName":"IERC1155Errors","contractDependencies":[],"contractKind":"interface","documentation":{"id":90,"nodeType":"StructuredDocumentation","src":"4286:145:0","text":" @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens."},"fullyImplemented":true,"id":136,"linearizedBaseContracts":[136],"name":"IERC1155Errors","nameLocation":"4442:14:0","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":91,"nodeType":"StructuredDocumentation","src":"4463:361:0","text":" @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token."},"errorSelector":"03dee4c5","id":101,"name":"ERC1155InsufficientBalance","nameLocation":"4835:26:0","nodeType":"ErrorDefinition","parameters":{"id":100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93,"mutability":"mutable","name":"sender","nameLocation":"4870:6:0","nodeType":"VariableDeclaration","scope":101,"src":"4862:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"4862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95,"mutability":"mutable","name":"balance","nameLocation":"4886:7:0","nodeType":"VariableDeclaration","scope":101,"src":"4878:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94,"name":"uint256","nodeType":"ElementaryTypeName","src":"4878:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97,"mutability":"mutable","name":"needed","nameLocation":"4903:6:0","nodeType":"VariableDeclaration","scope":101,"src":"4895:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96,"name":"uint256","nodeType":"ElementaryTypeName","src":"4895:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":99,"mutability":"mutable","name":"tokenId","nameLocation":"4919:7:0","nodeType":"VariableDeclaration","scope":101,"src":"4911:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"4911:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4861:66:0"},"src":"4829:99:0"},{"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"4934:152:0","text":" @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred."},"errorSelector":"01a83514","id":106,"name":"ERC1155InvalidSender","nameLocation":"5097:20:0","nodeType":"ErrorDefinition","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"sender","nameLocation":"5126:6:0","nodeType":"VariableDeclaration","scope":106,"src":"5118:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":103,"name":"address","nodeType":"ElementaryTypeName","src":"5118:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5117:16:0"},"src":"5091:43:0"},{"documentation":{"id":107,"nodeType":"StructuredDocumentation","src":"5140:159:0","text":" @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred."},"errorSelector":"57f447ce","id":111,"name":"ERC1155InvalidReceiver","nameLocation":"5310:22:0","nodeType":"ErrorDefinition","parameters":{"id":110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":109,"mutability":"mutable","name":"receiver","nameLocation":"5341:8:0","nodeType":"VariableDeclaration","scope":111,"src":"5333:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":108,"name":"address","nodeType":"ElementaryTypeName","src":"5333:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5332:18:0"},"src":"5304:47:0"},{"documentation":{"id":112,"nodeType":"StructuredDocumentation","src":"5357:256:0","text":" @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token."},"errorSelector":"e237d922","id":118,"name":"ERC1155MissingApprovalForAll","nameLocation":"5624:28:0","nodeType":"ErrorDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":114,"mutability":"mutable","name":"operator","nameLocation":"5661:8:0","nodeType":"VariableDeclaration","scope":118,"src":"5653:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":113,"name":"address","nodeType":"ElementaryTypeName","src":"5653:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"mutability":"mutable","name":"owner","nameLocation":"5679:5:0","nodeType":"VariableDeclaration","scope":118,"src":"5671:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":115,"name":"address","nodeType":"ElementaryTypeName","src":"5671:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5652:33:0"},"src":"5618:68:0"},{"documentation":{"id":119,"nodeType":"StructuredDocumentation","src":"5692:174:0","text":" @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation."},"errorSelector":"3e31884e","id":123,"name":"ERC1155InvalidApprover","nameLocation":"5877:22:0","nodeType":"ErrorDefinition","parameters":{"id":122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":121,"mutability":"mutable","name":"approver","nameLocation":"5908:8:0","nodeType":"VariableDeclaration","scope":123,"src":"5900:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":120,"name":"address","nodeType":"ElementaryTypeName","src":"5900:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5899:18:0"},"src":"5871:47:0"},{"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"5924:197:0","text":" @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner."},"errorSelector":"ced3e100","id":128,"name":"ERC1155InvalidOperator","nameLocation":"6132:22:0","nodeType":"ErrorDefinition","parameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"operator","nameLocation":"6163:8:0","nodeType":"VariableDeclaration","scope":128,"src":"6155:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"6155:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6154:18:0"},"src":"6126:47:0"},{"documentation":{"id":129,"nodeType":"StructuredDocumentation","src":"6179:280:0","text":" @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts"},"errorSelector":"5b059991","id":135,"name":"ERC1155InvalidArrayLength","nameLocation":"6470:25:0","nodeType":"ErrorDefinition","parameters":{"id":134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":131,"mutability":"mutable","name":"idsLength","nameLocation":"6504:9:0","nodeType":"VariableDeclaration","scope":135,"src":"6496:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":130,"name":"uint256","nodeType":"ElementaryTypeName","src":"6496:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":133,"mutability":"mutable","name":"valuesLength","nameLocation":"6523:12:0","nodeType":"VariableDeclaration","scope":135,"src":"6515:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":132,"name":"uint256","nodeType":"ElementaryTypeName","src":"6515:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6495:41:0"},"src":"6464:73:0"}],"scope":137,"src":"4432:2107:0","usedErrors":[101,106,111,118,123,128,135],"usedEvents":[]}],"src":"113:6427:0"},"id":0},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","exportedSymbols":{"Context":[785],"ERC20":[651],"IERC20":[729],"IERC20Errors":[41],"IERC20Metadata":[755]},"id":652,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":138,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"105:24:1"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","id":140,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":730,"src":"131:36:1","symbolAliases":[{"foreign":{"id":139,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"139:6:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","id":142,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":756,"src":"168:63:1","symbolAliases":[{"foreign":{"id":141,"name":"IERC20Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"176:14:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","id":144,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":786,"src":"232:48:1","symbolAliases":[{"foreign":{"id":143,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":785,"src":"240:7:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"absolutePath":"@openzeppelin/contracts/interfaces/draft-IERC6093.sol","file":"../../interfaces/draft-IERC6093.sol","id":146,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":652,"sourceUnit":137,"src":"281:65:1","symbolAliases":[{"foreign":{"id":145,"name":"IERC20Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"289:12:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":true,"baseContracts":[{"baseName":{"id":148,"name":"Context","nameLocations":["1133:7:1"],"nodeType":"IdentifierPath","referencedDeclaration":785,"src":"1133:7:1"},"id":149,"nodeType":"InheritanceSpecifier","src":"1133:7:1"},{"baseName":{"id":150,"name":"IERC20","nameLocations":["1142:6:1"],"nodeType":"IdentifierPath","referencedDeclaration":729,"src":"1142:6:1"},"id":151,"nodeType":"InheritanceSpecifier","src":"1142:6:1"},{"baseName":{"id":152,"name":"IERC20Metadata","nameLocations":["1150:14:1"],"nodeType":"IdentifierPath","referencedDeclaration":755,"src":"1150:14:1"},"id":153,"nodeType":"InheritanceSpecifier","src":"1150:14:1"},{"baseName":{"id":154,"name":"IERC20Errors","nameLocations":["1166:12:1"],"nodeType":"IdentifierPath","referencedDeclaration":41,"src":"1166:12:1"},"id":155,"nodeType":"InheritanceSpecifier","src":"1166:12:1"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":147,"nodeType":"StructuredDocumentation","src":"348:757: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 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 The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\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 ERC-20\n applications."},"fullyImplemented":true,"id":651,"linearizedBaseContracts":[651,41,755,729,785],"name":"ERC20","nameLocation":"1124:5:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":159,"mutability":"mutable","name":"_balances","nameLocation":"1229:9:1","nodeType":"VariableDeclaration","scope":651,"src":"1185:53:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":158,"keyName":"account","keyNameLocation":"1201:7:1","keyType":{"id":156,"name":"address","nodeType":"ElementaryTypeName","src":"1193:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1185:35:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1212:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"constant":false,"id":165,"mutability":"mutable","name":"_allowances","nameLocation":"1317:11:1","nodeType":"VariableDeclaration","scope":651,"src":"1245:83: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":164,"keyName":"account","keyNameLocation":"1261:7:1","keyType":{"id":160,"name":"address","nodeType":"ElementaryTypeName","src":"1253:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1245:63: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":163,"keyName":"spender","keyNameLocation":"1288:7:1","keyType":{"id":161,"name":"address","nodeType":"ElementaryTypeName","src":"1280:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1272:35:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":162,"name":"uint256","nodeType":"ElementaryTypeName","src":"1299:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"constant":false,"id":167,"mutability":"mutable","name":"_totalSupply","nameLocation":"1351:12:1","nodeType":"VariableDeclaration","scope":651,"src":"1335:28:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":166,"name":"uint256","nodeType":"ElementaryTypeName","src":"1335:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"constant":false,"id":169,"mutability":"mutable","name":"_name","nameLocation":"1385:5:1","nodeType":"VariableDeclaration","scope":651,"src":"1370:20:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":168,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"constant":false,"id":171,"mutability":"mutable","name":"_symbol","nameLocation":"1411:7:1","nodeType":"VariableDeclaration","scope":651,"src":"1396:22:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":170,"name":"string","nodeType":"ElementaryTypeName","src":"1396:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"body":{"id":187,"nodeType":"Block","src":"1638:57:1","statements":[{"expression":{"id":181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":179,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"1648:5:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":180,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"1656:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1648:13:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":182,"nodeType":"ExpressionStatement","src":"1648:13:1"},{"expression":{"id":185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":183,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"1671:7:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":184,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"1681:7:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1671:17:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":186,"nodeType":"ExpressionStatement","src":"1671:17:1"}]},"documentation":{"id":172,"nodeType":"StructuredDocumentation","src":"1425:152:1","text":" @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction."},"id":188,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":174,"mutability":"mutable","name":"name_","nameLocation":"1608:5:1","nodeType":"VariableDeclaration","scope":188,"src":"1594:19:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":173,"name":"string","nodeType":"ElementaryTypeName","src":"1594:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"symbol_","nameLocation":"1629:7:1","nodeType":"VariableDeclaration","scope":188,"src":"1615:21:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":175,"name":"string","nodeType":"ElementaryTypeName","src":"1615:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1593:44:1"},"returnParameters":{"id":178,"nodeType":"ParameterList","parameters":[],"src":"1638:0:1"},"scope":651,"src":"1582:113:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"baseFunctions":[742],"body":{"id":196,"nodeType":"Block","src":"1820:29:1","statements":[{"expression":{"id":194,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"1837:5:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":193,"id":195,"nodeType":"Return","src":"1830:12:1"}]},"documentation":{"id":189,"nodeType":"StructuredDocumentation","src":"1701:54:1","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":197,"implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"1769:4:1","nodeType":"FunctionDefinition","parameters":{"id":190,"nodeType":"ParameterList","parameters":[],"src":"1773:2:1"},"returnParameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":197,"src":"1805:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":191,"name":"string","nodeType":"ElementaryTypeName","src":"1805:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1804:15:1"},"scope":651,"src":"1760:89:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[748],"body":{"id":205,"nodeType":"Block","src":"2024:31:1","statements":[{"expression":{"id":203,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171,"src":"2041:7:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":202,"id":204,"nodeType":"Return","src":"2034:14:1"}]},"documentation":{"id":198,"nodeType":"StructuredDocumentation","src":"1855:102:1","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","id":206,"implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1971:6:1","nodeType":"FunctionDefinition","parameters":{"id":199,"nodeType":"ParameterList","parameters":[],"src":"1977:2:1"},"returnParameters":{"id":202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":206,"src":"2009:13:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":200,"name":"string","nodeType":"ElementaryTypeName","src":"2009:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2008:15:1"},"scope":651,"src":"1962:93:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[754],"body":{"id":214,"nodeType":"Block","src":"2744:26:1","statements":[{"expression":{"hexValue":"3138","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:2:1","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":211,"id":213,"nodeType":"Return","src":"2754:9:1"}]},"documentation":{"id":207,"nodeType":"StructuredDocumentation","src":"2061:622: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 default value returned by this function, unless\n it's 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":215,"implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2697:8:1","nodeType":"FunctionDefinition","parameters":{"id":208,"nodeType":"ParameterList","parameters":[],"src":"2705:2:1"},"returnParameters":{"id":211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":215,"src":"2737:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":209,"name":"uint8","nodeType":"ElementaryTypeName","src":"2737:5:1","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2736:7:1"},"scope":651,"src":"2688:82:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[678],"body":{"id":223,"nodeType":"Block","src":"2864:36:1","statements":[{"expression":{"id":221,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"2881:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":220,"id":222,"nodeType":"Return","src":"2874:19:1"}]},"documentation":{"id":216,"nodeType":"StructuredDocumentation","src":"2776:22:1","text":"@inheritdoc IERC20"},"functionSelector":"18160ddd","id":224,"implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"2812:11:1","nodeType":"FunctionDefinition","parameters":{"id":217,"nodeType":"ParameterList","parameters":[],"src":"2823:2:1"},"returnParameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":224,"src":"2855:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":218,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:9:1"},"scope":651,"src":"2803:97:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[686],"body":{"id":236,"nodeType":"Block","src":"3007:42:1","statements":[{"expression":{"baseExpression":{"id":232,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"3024:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":234,"indexExpression":{"id":233,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227,"src":"3034:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3024:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":231,"id":235,"nodeType":"Return","src":"3017:25:1"}]},"documentation":{"id":225,"nodeType":"StructuredDocumentation","src":"2906:22:1","text":"@inheritdoc IERC20"},"functionSelector":"70a08231","id":237,"implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2942:9:1","nodeType":"FunctionDefinition","parameters":{"id":228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":227,"mutability":"mutable","name":"account","nameLocation":"2960:7:1","nodeType":"VariableDeclaration","scope":237,"src":"2952:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":226,"name":"address","nodeType":"ElementaryTypeName","src":"2952:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2951:17:1"},"returnParameters":{"id":231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":237,"src":"2998:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":229,"name":"uint256","nodeType":"ElementaryTypeName","src":"2998:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2997:9:1"},"scope":651,"src":"2933:116:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[696],"body":{"id":260,"nodeType":"Block","src":"3319:103:1","statements":[{"assignments":[248],"declarations":[{"constant":false,"id":248,"mutability":"mutable","name":"owner","nameLocation":"3337:5:1","nodeType":"VariableDeclaration","scope":260,"src":"3329:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":247,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":251,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":249,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3345:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3345:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3329:28:1"},{"expression":{"arguments":[{"id":253,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":248,"src":"3377:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":254,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"3384:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":255,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":242,"src":"3388:5: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":252,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"3367:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3367:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":257,"nodeType":"ExpressionStatement","src":"3367:27:1"},{"expression":{"hexValue":"74727565","id":258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3411:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":246,"id":259,"nodeType":"Return","src":"3404:11:1"}]},"documentation":{"id":238,"nodeType":"StructuredDocumentation","src":"3055:184: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 `value`."},"functionSelector":"a9059cbb","id":261,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3253:8:1","nodeType":"FunctionDefinition","parameters":{"id":243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":240,"mutability":"mutable","name":"to","nameLocation":"3270:2:1","nodeType":"VariableDeclaration","scope":261,"src":"3262:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":239,"name":"address","nodeType":"ElementaryTypeName","src":"3262:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":242,"mutability":"mutable","name":"value","nameLocation":"3282:5:1","nodeType":"VariableDeclaration","scope":261,"src":"3274:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":241,"name":"uint256","nodeType":"ElementaryTypeName","src":"3274:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3261:27:1"},"returnParameters":{"id":246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":261,"src":"3313:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":244,"name":"bool","nodeType":"ElementaryTypeName","src":"3313:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3312:6:1"},"scope":651,"src":"3244:178:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[706],"body":{"id":277,"nodeType":"Block","src":"3544:51:1","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":271,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"3561:11:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":273,"indexExpression":{"id":272,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":264,"src":"3573:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:18:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":275,"indexExpression":{"id":274,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":266,"src":"3580:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3561:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":270,"id":276,"nodeType":"Return","src":"3554:34:1"}]},"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"3428:22:1","text":"@inheritdoc IERC20"},"functionSelector":"dd62ed3e","id":278,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3464:9:1","nodeType":"FunctionDefinition","parameters":{"id":267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":264,"mutability":"mutable","name":"owner","nameLocation":"3482:5:1","nodeType":"VariableDeclaration","scope":278,"src":"3474:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":263,"name":"address","nodeType":"ElementaryTypeName","src":"3474:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":266,"mutability":"mutable","name":"spender","nameLocation":"3497:7:1","nodeType":"VariableDeclaration","scope":278,"src":"3489:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":265,"name":"address","nodeType":"ElementaryTypeName","src":"3489:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3473:32:1"},"returnParameters":{"id":270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":278,"src":"3535:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":268,"name":"uint256","nodeType":"ElementaryTypeName","src":"3535:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3534:9:1"},"scope":651,"src":"3455:140:1","stateMutability":"view","virtual":true,"visibility":"public"},{"baseFunctions":[716],"body":{"id":301,"nodeType":"Block","src":"3981:107:1","statements":[{"assignments":[289],"declarations":[{"constant":false,"id":289,"mutability":"mutable","name":"owner","nameLocation":"3999:5:1","nodeType":"VariableDeclaration","scope":301,"src":"3991:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":288,"name":"address","nodeType":"ElementaryTypeName","src":"3991:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":292,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":290,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"4007:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4007:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3991:28:1"},{"expression":{"arguments":[{"id":294,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"4038:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":295,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"4045:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":296,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":283,"src":"4054:5: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":293,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":542,"src":"4029:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4029:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":298,"nodeType":"ExpressionStatement","src":"4029:31:1"},{"expression":{"hexValue":"74727565","id":299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4077:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":287,"id":300,"nodeType":"Return","src":"4070:11:1"}]},"documentation":{"id":279,"nodeType":"StructuredDocumentation","src":"3601:296:1","text":" @dev See {IERC20-approve}.\n NOTE: If `value` 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":302,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3911:7:1","nodeType":"FunctionDefinition","parameters":{"id":284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":281,"mutability":"mutable","name":"spender","nameLocation":"3927:7:1","nodeType":"VariableDeclaration","scope":302,"src":"3919:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":280,"name":"address","nodeType":"ElementaryTypeName","src":"3919:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":283,"mutability":"mutable","name":"value","nameLocation":"3944:5:1","nodeType":"VariableDeclaration","scope":302,"src":"3936:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3936:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3918:32:1"},"returnParameters":{"id":287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":302,"src":"3975:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":285,"name":"bool","nodeType":"ElementaryTypeName","src":"3975:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3974:6:1"},"scope":651,"src":"3902:186:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"baseFunctions":[728],"body":{"id":333,"nodeType":"Block","src":"4773:151:1","statements":[{"assignments":[315],"declarations":[{"constant":false,"id":315,"mutability":"mutable","name":"spender","nameLocation":"4791:7:1","nodeType":"VariableDeclaration","scope":333,"src":"4783:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"4783:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":318,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":316,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"4801:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4801:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4783:30:1"},{"expression":{"arguments":[{"id":320,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"4839:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":321,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"4845:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":322,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"4854:5: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":319,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"4823:15:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":324,"nodeType":"ExpressionStatement","src":"4823:37:1"},{"expression":{"arguments":[{"id":326,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"4880:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":327,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":307,"src":"4886:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":328,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"4890:5: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":325,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4870:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4870:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"ExpressionStatement","src":"4870:26:1"},{"expression":{"hexValue":"74727565","id":331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4913:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":313,"id":332,"nodeType":"Return","src":"4906:11:1"}]},"documentation":{"id":303,"nodeType":"StructuredDocumentation","src":"4094:581:1","text":" @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\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 `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`."},"functionSelector":"23b872dd","id":334,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4689:12:1","nodeType":"FunctionDefinition","parameters":{"id":310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":305,"mutability":"mutable","name":"from","nameLocation":"4710:4:1","nodeType":"VariableDeclaration","scope":334,"src":"4702:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":304,"name":"address","nodeType":"ElementaryTypeName","src":"4702:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":307,"mutability":"mutable","name":"to","nameLocation":"4724:2:1","nodeType":"VariableDeclaration","scope":334,"src":"4716:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":306,"name":"address","nodeType":"ElementaryTypeName","src":"4716:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":309,"mutability":"mutable","name":"value","nameLocation":"4736:5:1","nodeType":"VariableDeclaration","scope":334,"src":"4728:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":308,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4701:41:1"},"returnParameters":{"id":313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":334,"src":"4767:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":311,"name":"bool","nodeType":"ElementaryTypeName","src":"4767:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4766:6:1"},"scope":651,"src":"4680:244:1","stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"body":{"id":380,"nodeType":"Block","src":"5366:231:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":344,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"5380:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5396: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":346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5388:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":345,"name":"address","nodeType":"ElementaryTypeName","src":"5388:7:1","typeDescriptions":{}}},"id":348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5388:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5380:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":358,"nodeType":"IfStatement","src":"5376:86:1","trueBody":{"id":357,"nodeType":"Block","src":"5400:62:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5448: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":352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5440:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":351,"name":"address","nodeType":"ElementaryTypeName","src":"5440:7:1","typeDescriptions":{}}},"id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":350,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"5421:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5421:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":356,"nodeType":"RevertStatement","src":"5414:37:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":359,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"5475:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5489: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":361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5481:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":360,"name":"address","nodeType":"ElementaryTypeName","src":"5481:7:1","typeDescriptions":{}}},"id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5481:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5475:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":373,"nodeType":"IfStatement","src":"5471:86:1","trueBody":{"id":372,"nodeType":"Block","src":"5493:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5543: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":367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5535:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"5535:7:1","typeDescriptions":{}}},"id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":365,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"5514:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5514:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"RevertStatement","src":"5507:39:1"}]}},{"expression":{"arguments":[{"id":375,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":337,"src":"5574:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":376,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":339,"src":"5580:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":377,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":341,"src":"5584:5: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":374,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"5566:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5566:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"ExpressionStatement","src":"5566:24:1"}]},"documentation":{"id":335,"nodeType":"StructuredDocumentation","src":"4930:362:1","text":" @dev Moves a `value` 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 NOTE: This function is not virtual, {_update} should be overridden instead."},"id":381,"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"5306:9:1","nodeType":"FunctionDefinition","parameters":{"id":342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"mutability":"mutable","name":"from","nameLocation":"5324:4:1","nodeType":"VariableDeclaration","scope":381,"src":"5316:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":339,"mutability":"mutable","name":"to","nameLocation":"5338:2:1","nodeType":"VariableDeclaration","scope":381,"src":"5330:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":338,"name":"address","nodeType":"ElementaryTypeName","src":"5330:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":341,"mutability":"mutable","name":"value","nameLocation":"5350:5:1","nodeType":"VariableDeclaration","scope":381,"src":"5342:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":340,"name":"uint256","nodeType":"ElementaryTypeName","src":"5342:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5315:41:1"},"returnParameters":{"id":343,"nodeType":"ParameterList","parameters":[],"src":"5366:0:1"},"scope":651,"src":"5297:300:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":457,"nodeType":"Block","src":"5987:1032:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":391,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6001:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6017: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":393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6009:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":392,"name":"address","nodeType":"ElementaryTypeName","src":"6009:7:1","typeDescriptions":{}}},"id":395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6009:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6001:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":428,"nodeType":"Block","src":"6175:362:1","statements":[{"assignments":[403],"declarations":[{"constant":false,"id":403,"mutability":"mutable","name":"fromBalance","nameLocation":"6197:11:1","nodeType":"VariableDeclaration","scope":428,"src":"6189:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":402,"name":"uint256","nodeType":"ElementaryTypeName","src":"6189:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":407,"initialValue":{"baseExpression":{"id":404,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6211:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":406,"indexExpression":{"id":405,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6221:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6211:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6189:37:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":408,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6244:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":409,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6258:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6244:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":418,"nodeType":"IfStatement","src":"6240:115:1","trueBody":{"id":417,"nodeType":"Block","src":"6265:90:1","statements":[{"errorCall":{"arguments":[{"id":412,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6315:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":413,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6321:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":414,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6334:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":411,"name":"ERC20InsufficientBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11,"src":"6290:24:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) pure"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:50:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":416,"nodeType":"RevertStatement","src":"6283:57:1"}]}},{"id":427,"nodeType":"UncheckedBlock","src":"6368:159:1","statements":[{"expression":{"id":425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":419,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6475:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":421,"indexExpression":{"id":420,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6485:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6475:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":403,"src":"6493:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":423,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6507:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6493:19:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6475:37:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":426,"nodeType":"ExpressionStatement","src":"6475:37:1"}]}]},"id":429,"nodeType":"IfStatement","src":"5997:540:1","trueBody":{"id":401,"nodeType":"Block","src":"6021:148:1","statements":[{"expression":{"id":399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":397,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"6137:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":398,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6153:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6137:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":400,"nodeType":"ExpressionStatement","src":"6137:21:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":430,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"6551:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6565: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":432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6557:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":431,"name":"address","nodeType":"ElementaryTypeName","src":"6557:7:1","typeDescriptions":{}}},"id":434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6557:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6551:16:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":449,"nodeType":"Block","src":"6766:206:1","statements":[{"id":448,"nodeType":"UncheckedBlock","src":"6780:182:1","statements":[{"expression":{"id":446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":442,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":159,"src":"6925:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":444,"indexExpression":{"id":443,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"6935:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6925:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":445,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6942:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6925:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":447,"nodeType":"ExpressionStatement","src":"6925:22:1"}]}]},"id":450,"nodeType":"IfStatement","src":"6547:425:1","trueBody":{"id":441,"nodeType":"Block","src":"6569:191:1","statements":[{"id":440,"nodeType":"UncheckedBlock","src":"6583:167:1","statements":[{"expression":{"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":436,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":167,"src":"6714:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":437,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"6730:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6714:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"nodeType":"ExpressionStatement","src":"6714:21:1"}]}]}},{"eventCall":{"arguments":[{"id":452,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":384,"src":"6996:4:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":453,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"7002:2:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":454,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":388,"src":"7006:5: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":451,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":663,"src":"6987:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6987:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":456,"nodeType":"EmitStatement","src":"6982:30:1"}]},"documentation":{"id":382,"nodeType":"StructuredDocumentation","src":"5603:304:1","text":" @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event."},"id":458,"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"5921:7:1","nodeType":"FunctionDefinition","parameters":{"id":389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":384,"mutability":"mutable","name":"from","nameLocation":"5937:4:1","nodeType":"VariableDeclaration","scope":458,"src":"5929:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":383,"name":"address","nodeType":"ElementaryTypeName","src":"5929:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":386,"mutability":"mutable","name":"to","nameLocation":"5951:2:1","nodeType":"VariableDeclaration","scope":458,"src":"5943:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":385,"name":"address","nodeType":"ElementaryTypeName","src":"5943:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":388,"mutability":"mutable","name":"value","nameLocation":"5963:5:1","nodeType":"VariableDeclaration","scope":458,"src":"5955:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":387,"name":"uint256","nodeType":"ElementaryTypeName","src":"5955:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5928:41:1"},"returnParameters":{"id":390,"nodeType":"ParameterList","parameters":[],"src":"5987:0:1"},"scope":651,"src":"5912:1107:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":490,"nodeType":"Block","src":"7418:152:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":466,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"7432:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7451: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":468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7443:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":467,"name":"address","nodeType":"ElementaryTypeName","src":"7443:7:1","typeDescriptions":{}}},"id":470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7443:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7432:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":480,"nodeType":"IfStatement","src":"7428:91:1","trueBody":{"id":479,"nodeType":"Block","src":"7455:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7505: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":474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7497:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":473,"name":"address","nodeType":"ElementaryTypeName","src":"7497:7:1","typeDescriptions":{}}},"id":476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7497:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":472,"name":"ERC20InvalidReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21,"src":"7476:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7476:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":478,"nodeType":"RevertStatement","src":"7469:39:1"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7544: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":483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7536:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":482,"name":"address","nodeType":"ElementaryTypeName","src":"7536:7:1","typeDescriptions":{}}},"id":485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7536:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":486,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"7548:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":487,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"7557:5: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":481,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"7528:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7528:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":489,"nodeType":"ExpressionStatement","src":"7528:35:1"}]},"documentation":{"id":459,"nodeType":"StructuredDocumentation","src":"7025:332:1","text":" @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead."},"id":491,"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"7371:5:1","nodeType":"FunctionDefinition","parameters":{"id":464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":461,"mutability":"mutable","name":"account","nameLocation":"7385:7:1","nodeType":"VariableDeclaration","scope":491,"src":"7377:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":460,"name":"address","nodeType":"ElementaryTypeName","src":"7377:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":463,"mutability":"mutable","name":"value","nameLocation":"7402:5:1","nodeType":"VariableDeclaration","scope":491,"src":"7394:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":462,"name":"uint256","nodeType":"ElementaryTypeName","src":"7394:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7376:32:1"},"returnParameters":{"id":465,"nodeType":"ParameterList","parameters":[],"src":"7418:0:1"},"scope":651,"src":"7362:208:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":523,"nodeType":"Block","src":"7944:150:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"7958:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7977: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":501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7969:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":500,"name":"address","nodeType":"ElementaryTypeName","src":"7969:7:1","typeDescriptions":{}}},"id":503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7969:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7958:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":513,"nodeType":"IfStatement","src":"7954:89:1","trueBody":{"id":512,"nodeType":"Block","src":"7981:62:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8029: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":507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8021:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":506,"name":"address","nodeType":"ElementaryTypeName","src":"8021:7:1","typeDescriptions":{}}},"id":509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8021:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":505,"name":"ERC20InvalidSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16,"src":"8002:18:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8002:30:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":511,"nodeType":"RevertStatement","src":"7995:37:1"}]}},{"expression":{"arguments":[{"id":515,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"8060:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8077: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":517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8069:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":516,"name":"address","nodeType":"ElementaryTypeName","src":"8069:7:1","typeDescriptions":{}}},"id":519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":520,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":496,"src":"8081:5: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":514,"name":"_update","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":458,"src":"8052:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8052:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":522,"nodeType":"ExpressionStatement","src":"8052:35:1"}]},"documentation":{"id":492,"nodeType":"StructuredDocumentation","src":"7576:307:1","text":" @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead"},"id":524,"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7897:5:1","nodeType":"FunctionDefinition","parameters":{"id":497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":494,"mutability":"mutable","name":"account","nameLocation":"7911:7:1","nodeType":"VariableDeclaration","scope":524,"src":"7903:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":493,"name":"address","nodeType":"ElementaryTypeName","src":"7903:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":496,"mutability":"mutable","name":"value","nameLocation":"7928:5:1","nodeType":"VariableDeclaration","scope":524,"src":"7920:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":495,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7902:32:1"},"returnParameters":{"id":498,"nodeType":"ParameterList","parameters":[],"src":"7944:0:1"},"scope":651,"src":"7888:206:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":541,"nodeType":"Block","src":"8704:54:1","statements":[{"expression":{"arguments":[{"id":535,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":527,"src":"8723:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":536,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":529,"src":"8730:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":537,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":531,"src":"8739:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8746:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":534,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":602,"src":"8714:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8714:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":540,"nodeType":"ExpressionStatement","src":"8714:37:1"}]},"documentation":{"id":525,"nodeType":"StructuredDocumentation","src":"8100:525:1","text":" @dev Sets `value` 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.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument."},"id":542,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"8639:8:1","nodeType":"FunctionDefinition","parameters":{"id":532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":527,"mutability":"mutable","name":"owner","nameLocation":"8656:5:1","nodeType":"VariableDeclaration","scope":542,"src":"8648:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":526,"name":"address","nodeType":"ElementaryTypeName","src":"8648:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":529,"mutability":"mutable","name":"spender","nameLocation":"8671:7:1","nodeType":"VariableDeclaration","scope":542,"src":"8663:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":528,"name":"address","nodeType":"ElementaryTypeName","src":"8663:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":531,"mutability":"mutable","name":"value","nameLocation":"8688:5:1","nodeType":"VariableDeclaration","scope":542,"src":"8680:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":530,"name":"uint256","nodeType":"ElementaryTypeName","src":"8680:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8647:47:1"},"returnParameters":{"id":533,"nodeType":"ParameterList","parameters":[],"src":"8704:0:1"},"scope":651,"src":"8630:128:1","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":601,"nodeType":"Block","src":"9705:334:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":554,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"9719:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9736: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":556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9728:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":555,"name":"address","nodeType":"ElementaryTypeName","src":"9728:7:1","typeDescriptions":{}}},"id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9728:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9719:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":568,"nodeType":"IfStatement","src":"9715:89:1","trueBody":{"id":567,"nodeType":"Block","src":"9740:64:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9790: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":562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9782:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":561,"name":"address","nodeType":"ElementaryTypeName","src":"9782:7:1","typeDescriptions":{}}},"id":564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9782:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":560,"name":"ERC20InvalidApprover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":35,"src":"9761:20:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9761:32:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":566,"nodeType":"RevertStatement","src":"9754:39:1"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":569,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"9817:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836: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":571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9828:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":570,"name":"address","nodeType":"ElementaryTypeName","src":"9828:7:1","typeDescriptions":{}}},"id":573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9828:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9817:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":583,"nodeType":"IfStatement","src":"9813:90:1","trueBody":{"id":582,"nodeType":"Block","src":"9840:63:1","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"30","id":578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9889: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":577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9881:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":576,"name":"address","nodeType":"ElementaryTypeName","src":"9881:7:1","typeDescriptions":{}}},"id":579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9881:10:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":575,"name":"ERC20InvalidSpender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"9861:19:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9861:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":581,"nodeType":"RevertStatement","src":"9854:38:1"}]}},{"expression":{"id":590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":584,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"9912:11:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":587,"indexExpression":{"id":585,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"9924:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9912:18:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":588,"indexExpression":{"id":586,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"9931:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9912:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":589,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"9942:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9912:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":591,"nodeType":"ExpressionStatement","src":"9912:35:1"},{"condition":{"id":592,"name":"emitEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":551,"src":"9961:9:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":600,"nodeType":"IfStatement","src":"9957:76:1","trueBody":{"id":599,"nodeType":"Block","src":"9972:61:1","statements":[{"eventCall":{"arguments":[{"id":594,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"10000:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":595,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":547,"src":"10007:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":549,"src":"10016:5: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":593,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":672,"src":"9991:8:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9991:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"EmitStatement","src":"9986:36:1"}]}}]},"documentation":{"id":543,"nodeType":"StructuredDocumentation","src":"8764:838:1","text":" @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n     super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}."},"id":602,"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"9616:8:1","nodeType":"FunctionDefinition","parameters":{"id":552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":545,"mutability":"mutable","name":"owner","nameLocation":"9633:5:1","nodeType":"VariableDeclaration","scope":602,"src":"9625:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":544,"name":"address","nodeType":"ElementaryTypeName","src":"9625:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":547,"mutability":"mutable","name":"spender","nameLocation":"9648:7:1","nodeType":"VariableDeclaration","scope":602,"src":"9640:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":546,"name":"address","nodeType":"ElementaryTypeName","src":"9640:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":549,"mutability":"mutable","name":"value","nameLocation":"9665:5:1","nodeType":"VariableDeclaration","scope":602,"src":"9657:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":548,"name":"uint256","nodeType":"ElementaryTypeName","src":"9657:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":551,"mutability":"mutable","name":"emitEvent","nameLocation":"9677:9:1","nodeType":"VariableDeclaration","scope":602,"src":"9672:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":550,"name":"bool","nodeType":"ElementaryTypeName","src":"9672:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9624:63:1"},"returnParameters":{"id":553,"nodeType":"ParameterList","parameters":[],"src":"9705:0:1"},"scope":651,"src":"9607:432:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":649,"nodeType":"Block","src":"10410:387:1","statements":[{"assignments":[613],"declarations":[{"constant":false,"id":613,"mutability":"mutable","name":"currentAllowance","nameLocation":"10428:16:1","nodeType":"VariableDeclaration","scope":649,"src":"10420:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"10420:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":618,"initialValue":{"arguments":[{"id":615,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"10457:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":616,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10464:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":614,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"10447:9:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10447:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10420:52:1"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":619,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10486:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"id":622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10510:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":621,"name":"uint256","nodeType":"ElementaryTypeName","src":"10510:7:1","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":620,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10505:4:1","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10505:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10519:3:1","memberName":"max","nodeType":"MemberAccess","src":"10505:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10486:36:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":648,"nodeType":"IfStatement","src":"10482:309:1","trueBody":{"id":647,"nodeType":"Block","src":"10524:267:1","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":626,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10542:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":627,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10561:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10542:24:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":636,"nodeType":"IfStatement","src":"10538:130:1","trueBody":{"id":635,"nodeType":"Block","src":"10568:100:1","statements":[{"errorCall":{"arguments":[{"id":630,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10620:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":631,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10629:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":632,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10647:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":629,"name":"ERC20InsufficientAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"10593:26:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) pure"}},"id":633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10593:60:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":634,"nodeType":"RevertStatement","src":"10586:67:1"}]}},{"id":646,"nodeType":"UncheckedBlock","src":"10681:100:1","statements":[{"expression":{"arguments":[{"id":638,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"10718:5:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":639,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"10725:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":640,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"10734:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":641,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":609,"src":"10753:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10734:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10760:5:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":637,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[542,602],"referencedDeclaration":602,"src":"10709:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10709:57:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":645,"nodeType":"ExpressionStatement","src":"10709:57:1"}]}]}}]},"documentation":{"id":603,"nodeType":"StructuredDocumentation","src":"10045:271:1","text":" @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event."},"id":650,"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"10330:15:1","nodeType":"FunctionDefinition","parameters":{"id":610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":605,"mutability":"mutable","name":"owner","nameLocation":"10354:5:1","nodeType":"VariableDeclaration","scope":650,"src":"10346:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":604,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":607,"mutability":"mutable","name":"spender","nameLocation":"10369:7:1","nodeType":"VariableDeclaration","scope":650,"src":"10361:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":606,"name":"address","nodeType":"ElementaryTypeName","src":"10361:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":609,"mutability":"mutable","name":"value","nameLocation":"10386:5:1","nodeType":"VariableDeclaration","scope":650,"src":"10378:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":608,"name":"uint256","nodeType":"ElementaryTypeName","src":"10378:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10345:47:1"},"returnParameters":{"id":611,"nodeType":"ParameterList","parameters":[],"src":"10410:0:1"},"scope":651,"src":"10321:476:1","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":652,"src":"1106:9693:1","usedErrors":[11,16,21,30,35,40],"usedEvents":[663,672]}],"src":"105:10695:1"},"id":1},"@openzeppelin/contracts/token/ERC20/IERC20.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","exportedSymbols":{"IERC20":[729]},"id":730,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":653,"literals":["solidity",">=","0.4",".16"],"nodeType":"PragmaDirective","src":"106:25:2"},{"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":654,"nodeType":"StructuredDocumentation","src":"133:71:2","text":" @dev Interface of the ERC-20 standard as defined in the ERC."},"fullyImplemented":false,"id":729,"linearizedBaseContracts":[729],"name":"IERC20","nameLocation":"215:6:2","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":{"id":655,"nodeType":"StructuredDocumentation","src":"228: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":663,"name":"Transfer","nameLocation":"397:8:2","nodeType":"EventDefinition","parameters":{"id":662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":657,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"422:4:2","nodeType":"VariableDeclaration","scope":663,"src":"406:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":656,"name":"address","nodeType":"ElementaryTypeName","src":"406:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":659,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"444:2:2","nodeType":"VariableDeclaration","scope":663,"src":"428:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":658,"name":"address","nodeType":"ElementaryTypeName","src":"428:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":661,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"456:5:2","nodeType":"VariableDeclaration","scope":663,"src":"448:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":660,"name":"uint256","nodeType":"ElementaryTypeName","src":"448:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:57:2"},"src":"391:72:2"},{"anonymous":false,"documentation":{"id":664,"nodeType":"StructuredDocumentation","src":"469: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":672,"name":"Approval","nameLocation":"628:8:2","nodeType":"EventDefinition","parameters":{"id":671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":666,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"653:5:2","nodeType":"VariableDeclaration","scope":672,"src":"637:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":665,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":668,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"676:7:2","nodeType":"VariableDeclaration","scope":672,"src":"660:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":667,"name":"address","nodeType":"ElementaryTypeName","src":"660:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":670,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"693:5:2","nodeType":"VariableDeclaration","scope":672,"src":"685:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":669,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"636:63:2"},"src":"622:78:2"},{"documentation":{"id":673,"nodeType":"StructuredDocumentation","src":"706:65:2","text":" @dev Returns the value of tokens in existence."},"functionSelector":"18160ddd","id":678,"implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"785:11:2","nodeType":"FunctionDefinition","parameters":{"id":674,"nodeType":"ParameterList","parameters":[],"src":"796:2:2"},"returnParameters":{"id":677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":678,"src":"822:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":675,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:9:2"},"scope":729,"src":"776:55:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":679,"nodeType":"StructuredDocumentation","src":"837:71:2","text":" @dev Returns the value of tokens owned by `account`."},"functionSelector":"70a08231","id":686,"implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"922:9:2","nodeType":"FunctionDefinition","parameters":{"id":682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":681,"mutability":"mutable","name":"account","nameLocation":"940:7:2","nodeType":"VariableDeclaration","scope":686,"src":"932:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":680,"name":"address","nodeType":"ElementaryTypeName","src":"932:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"931:17:2"},"returnParameters":{"id":685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":686,"src":"972:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":683,"name":"uint256","nodeType":"ElementaryTypeName","src":"972:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"971:9:2"},"scope":729,"src":"913:68:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":687,"nodeType":"StructuredDocumentation","src":"987:213:2","text":" @dev Moves a `value` amount of 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":696,"implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1214:8:2","nodeType":"FunctionDefinition","parameters":{"id":692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":689,"mutability":"mutable","name":"to","nameLocation":"1231:2:2","nodeType":"VariableDeclaration","scope":696,"src":"1223:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":688,"name":"address","nodeType":"ElementaryTypeName","src":"1223:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":691,"mutability":"mutable","name":"value","nameLocation":"1243:5:2","nodeType":"VariableDeclaration","scope":696,"src":"1235:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":690,"name":"uint256","nodeType":"ElementaryTypeName","src":"1235:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1222:27:2"},"returnParameters":{"id":695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":694,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":696,"src":"1268:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":693,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:2"},"scope":729,"src":"1205:69:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":697,"nodeType":"StructuredDocumentation","src":"1280: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":706,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:2","nodeType":"FunctionDefinition","parameters":{"id":702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":699,"mutability":"mutable","name":"owner","nameLocation":"1576:5:2","nodeType":"VariableDeclaration","scope":706,"src":"1568:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":698,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":701,"mutability":"mutable","name":"spender","nameLocation":"1591:7:2","nodeType":"VariableDeclaration","scope":706,"src":"1583:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":700,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:2"},"returnParameters":{"id":705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":706,"src":"1623:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":703,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:2"},"scope":729,"src":"1549:83:2","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":707,"nodeType":"StructuredDocumentation","src":"1638:667:2","text":" @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n 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":716,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2319:7:2","nodeType":"FunctionDefinition","parameters":{"id":712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":709,"mutability":"mutable","name":"spender","nameLocation":"2335:7:2","nodeType":"VariableDeclaration","scope":716,"src":"2327:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":708,"name":"address","nodeType":"ElementaryTypeName","src":"2327:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":711,"mutability":"mutable","name":"value","nameLocation":"2352:5:2","nodeType":"VariableDeclaration","scope":716,"src":"2344:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":710,"name":"uint256","nodeType":"ElementaryTypeName","src":"2344:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2326:32:2"},"returnParameters":{"id":715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":716,"src":"2377:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":713,"name":"bool","nodeType":"ElementaryTypeName","src":"2377:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2376:6:2"},"scope":729,"src":"2310:73:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":717,"nodeType":"StructuredDocumentation","src":"2389:297:2","text":" @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` 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":728,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2700:12:2","nodeType":"FunctionDefinition","parameters":{"id":724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":719,"mutability":"mutable","name":"from","nameLocation":"2721:4:2","nodeType":"VariableDeclaration","scope":728,"src":"2713:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":718,"name":"address","nodeType":"ElementaryTypeName","src":"2713:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":721,"mutability":"mutable","name":"to","nameLocation":"2735:2:2","nodeType":"VariableDeclaration","scope":728,"src":"2727:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":720,"name":"address","nodeType":"ElementaryTypeName","src":"2727:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":723,"mutability":"mutable","name":"value","nameLocation":"2747:5:2","nodeType":"VariableDeclaration","scope":728,"src":"2739:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2739:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2712:41:2"},"returnParameters":{"id":727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":728,"src":"2772:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":725,"name":"bool","nodeType":"ElementaryTypeName","src":"2772:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2771:6:2"},"scope":729,"src":"2691:87:2","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":730,"src":"205:2575:2","usedErrors":[],"usedEvents":[663,672]}],"src":"106:2675:2"},"id":2},"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","exportedSymbols":{"IERC20":[729],"IERC20Metadata":[755]},"id":756,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":731,"literals":["solidity",">=","0.6",".2"],"nodeType":"PragmaDirective","src":"125:24:3"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","id":733,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":756,"sourceUnit":730,"src":"151:37:3","symbolAliases":[{"foreign":{"id":732,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":729,"src":"159:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":735,"name":"IERC20","nameLocations":["306:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":729,"src":"306:6:3"},"id":736,"nodeType":"InheritanceSpecifier","src":"306:6:3"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":734,"nodeType":"StructuredDocumentation","src":"190:87:3","text":" @dev Interface for the optional metadata functions from the ERC-20 standard."},"fullyImplemented":false,"id":755,"linearizedBaseContracts":[755,729],"name":"IERC20Metadata","nameLocation":"288:14:3","nodeType":"ContractDefinition","nodes":[{"documentation":{"id":737,"nodeType":"StructuredDocumentation","src":"319:54:3","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","id":742,"implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"387:4:3","nodeType":"FunctionDefinition","parameters":{"id":738,"nodeType":"ParameterList","parameters":[],"src":"391:2:3"},"returnParameters":{"id":741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":742,"src":"417:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":739,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"416:15:3"},"scope":755,"src":"378:54:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":743,"nodeType":"StructuredDocumentation","src":"438:56:3","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","id":748,"implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"508:6:3","nodeType":"FunctionDefinition","parameters":{"id":744,"nodeType":"ParameterList","parameters":[],"src":"514:2:3"},"returnParameters":{"id":747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":748,"src":"540:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":745,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"539:15:3"},"scope":755,"src":"499:56:3","stateMutability":"view","virtual":false,"visibility":"external"},{"documentation":{"id":749,"nodeType":"StructuredDocumentation","src":"561:65:3","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","id":754,"implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"640:8:3","nodeType":"FunctionDefinition","parameters":{"id":750,"nodeType":"ParameterList","parameters":[],"src":"648:2:3"},"returnParameters":{"id":753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":752,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":754,"src":"674:5:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":751,"name":"uint8","nodeType":"ElementaryTypeName","src":"674:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"673:7:3"},"scope":755,"src":"631:50:3","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":756,"src":"278:405:3","usedErrors":[],"usedEvents":[663,672]}],"src":"125:559:3"},"id":3},"@openzeppelin/contracts/utils/Context.sol":{"ast":{"absolutePath":"@openzeppelin/contracts/utils/Context.sol","exportedSymbols":{"Context":[785]},"id":786,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":757,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"101:24:4"},{"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":758,"nodeType":"StructuredDocumentation","src":"127:496:4","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":785,"linearizedBaseContracts":[785],"name":"Context","nameLocation":"642:7:4","nodeType":"ContractDefinition","nodes":[{"body":{"id":766,"nodeType":"Block","src":"718:34:4","statements":[{"expression":{"expression":{"id":763,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"735:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"739:6:4","memberName":"sender","nodeType":"MemberAccess","src":"735:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":762,"id":765,"nodeType":"Return","src":"728:17:4"}]},"id":767,"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"665:10:4","nodeType":"FunctionDefinition","parameters":{"id":759,"nodeType":"ParameterList","parameters":[],"src":"675:2:4"},"returnParameters":{"id":762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":761,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":767,"src":"709:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":760,"name":"address","nodeType":"ElementaryTypeName","src":"709:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"708:9:4"},"scope":785,"src":"656:96:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":775,"nodeType":"Block","src":"825:32:4","statements":[{"expression":{"expression":{"id":772,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"842:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"846:4:4","memberName":"data","nodeType":"MemberAccess","src":"842:8:4","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":771,"id":774,"nodeType":"Return","src":"835:15:4"}]},"id":776,"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"767:8:4","nodeType":"FunctionDefinition","parameters":{"id":768,"nodeType":"ParameterList","parameters":[],"src":"775:2:4"},"returnParameters":{"id":771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":776,"src":"809:14:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":769,"name":"bytes","nodeType":"ElementaryTypeName","src":"809:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"808:16:4"},"scope":785,"src":"758:99:4","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":783,"nodeType":"Block","src":"935:25:4","statements":[{"expression":{"hexValue":"30","id":781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":780,"id":782,"nodeType":"Return","src":"945:8:4"}]},"id":784,"implemented":true,"kind":"function","modifiers":[],"name":"_contextSuffixLength","nameLocation":"872:20:4","nodeType":"FunctionDefinition","parameters":{"id":777,"nodeType":"ParameterList","parameters":[],"src":"892:2:4"},"returnParameters":{"id":780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":779,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":784,"src":"926:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":778,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:9:4"},"scope":785,"src":"863:97:4","stateMutability":"view","virtual":true,"visibility":"internal"}],"scope":786,"src":"624:338:4","usedErrors":[],"usedEvents":[]}],"src":"101:862:4"},"id":4},"contracts/EdgeSwarm.sol":{"ast":{"absolutePath":"contracts/EdgeSwarm.sol","exportedSymbols":{"Context":[785],"ERC20":[651],"EdgeSwarm":[899],"IERC20":[729],"IERC20Errors":[41],"IERC20Metadata":[755]},"id":900,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":787,"literals":["solidity","^","0.8",".20"],"nodeType":"PragmaDirective","src":"32:24:5"},{"absolutePath":"@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","id":788,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":900,"sourceUnit":652,"src":"58:55:5","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":789,"name":"ERC20","nameLocations":["137:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"137:5:5"},"id":790,"nodeType":"InheritanceSpecifier","src":"137:5:5"}],"canonicalName":"EdgeSwarm","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":899,"linearizedBaseContracts":[899,651,41,755,729,785],"name":"EdgeSwarm","nameLocation":"124:9:5","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8da5cb5b","id":792,"mutability":"mutable","name":"owner","nameLocation":"164:5:5","nodeType":"VariableDeclaration","scope":899,"src":"149:20:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":791,"name":"address","nodeType":"ElementaryTypeName","src":"149:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"bd4bbeb9","id":796,"mutability":"mutable","name":"ubiEarned","nameLocation":"339:9:5","nodeType":"VariableDeclaration","scope":899,"src":"304:44:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":795,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":793,"name":"address","nodeType":"ElementaryTypeName","src":"312:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"304:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":794,"name":"uint256","nodeType":"ElementaryTypeName","src":"323:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"canonicalName":"EdgeSwarm.WorkTask","id":807,"members":[{"constant":false,"id":798,"mutability":"mutable","name":"taskId","nameLocation":"389:6:5","nodeType":"VariableDeclaration","scope":807,"src":"381:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":797,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":800,"mutability":"mutable","name":"predictionScore","nameLocation":"412:15:5","nodeType":"VariableDeclaration","scope":807,"src":"405:22:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":799,"name":"int256","nodeType":"ElementaryTypeName","src":"405:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":802,"mutability":"mutable","name":"worker","nameLocation":"484:6:5","nodeType":"VariableDeclaration","scope":807,"src":"476:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":801,"name":"address","nodeType":"ElementaryTypeName","src":"476:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":804,"mutability":"mutable","name":"timestamp","nameLocation":"508:9:5","nodeType":"VariableDeclaration","scope":807,"src":"500:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":803,"name":"uint256","nodeType":"ElementaryTypeName","src":"500:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":806,"mutability":"mutable","name":"fileHash","nameLocation":"534:8:5","nodeType":"VariableDeclaration","scope":807,"src":"527:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":805,"name":"string","nodeType":"ElementaryTypeName","src":"527:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"WorkTask","nameLocation":"362:8:5","nodeType":"StructDefinition","scope":899,"src":"355:252:5","visibility":"public"},{"constant":false,"functionSelector":"10a7fd7b","id":812,"mutability":"mutable","name":"ledger","nameLocation":"706:6:5","nodeType":"VariableDeclaration","scope":899,"src":"670:42:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_WorkTask_$807_storage_$","typeString":"mapping(uint256 => struct EdgeSwarm.WorkTask)"},"typeName":{"id":811,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":808,"name":"uint256","nodeType":"ElementaryTypeName","src":"678:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"670:28:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_WorkTask_$807_storage_$","typeString":"mapping(uint256 => struct EdgeSwarm.WorkTask)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":810,"nodeType":"UserDefinedTypeName","pathNode":{"id":809,"name":"WorkTask","nameLocations":["689:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":807,"src":"689:8:5"},"referencedDeclaration":807,"src":"689:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_WorkTask_$807_storage_ptr","typeString":"struct EdgeSwarm.WorkTask"}}},"visibility":"public"},{"anonymous":false,"eventSelector":"0fa6157f4e9e99fb9310ffbda586ef6dacedf5e0d84f679f44e65ee1eb61687c","id":822,"name":"WorkVerified","nameLocation":"805:12:5","nodeType":"EventDefinition","parameters":{"id":821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":814,"indexed":true,"mutability":"mutable","name":"worker","nameLocation":"834:6:5","nodeType":"VariableDeclaration","scope":822,"src":"818:22:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"818:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":816,"indexed":false,"mutability":"mutable","name":"taskId","nameLocation":"850:6:5","nodeType":"VariableDeclaration","scope":822,"src":"842:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":815,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":818,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"865:5:5","nodeType":"VariableDeclaration","scope":822,"src":"858:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":817,"name":"int256","nodeType":"ElementaryTypeName","src":"858:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":820,"indexed":false,"mutability":"mutable","name":"fileHash","nameLocation":"879:8:5","nodeType":"VariableDeclaration","scope":822,"src":"872:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":819,"name":"string","nodeType":"ElementaryTypeName","src":"872:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"817:71:5"},"src":"799:90:5"},{"body":{"id":834,"nodeType":"Block","src":"937:35:5","statements":[{"expression":{"id":832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":829,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":792,"src":"947:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":830,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"955:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"959:6:5","memberName":"sender","nodeType":"MemberAccess","src":"955:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"947:18:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":833,"nodeType":"ExpressionStatement","src":"947:18:5"}]},"id":835,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"537761726d20546f6b656e","id":825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"915:13:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d4437a7c2aa46c7c74cfaf0a03004db0751b3ed5788ba5652fedb9545b672066","typeString":"literal_string \"Swarm Token\""},"value":"Swarm Token"},{"hexValue":"53574d","id":826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"930:5:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cefcf55a0240224bfcc179269ab954167f1cf382d275c5cf0637923f69df71ba","typeString":"literal_string \"SWM\""},"value":"SWM"}],"id":827,"kind":"baseConstructorSpecifier","modifierName":{"id":824,"name":"ERC20","nameLocations":["909:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"909:5:5"},"nodeType":"ModifierInvocation","src":"909:27:5"}],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":823,"nodeType":"ParameterList","parameters":[],"src":"906:2:5"},"returnParameters":{"id":828,"nodeType":"ParameterList","parameters":[],"src":"937:0:5"},"scope":899,"src":"895:77:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":897,"nodeType":"Block","src":"1200:758:5","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":846,"name":"ledger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":812,"src":"1218:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_WorkTask_$807_storage_$","typeString":"mapping(uint256 => struct EdgeSwarm.WorkTask storage ref)"}},"id":848,"indexExpression":{"id":847,"name":"_taskId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"1225:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1218:15:5","typeDescriptions":{"typeIdentifier":"t_struct$_WorkTask_$807_storage","typeString":"struct EdgeSwarm.WorkTask storage ref"}},"id":849,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1234:6:5","memberName":"worker","nodeType":"MemberAccess","referencedDeclaration":802,"src":"1218:22:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1252:1:5","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":851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1244:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":850,"name":"address","nodeType":"ElementaryTypeName","src":"1244:7:5","typeDescriptions":{}}},"id":853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1244:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1218:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5461736b20616c726561647920636f6d706c65746564","id":855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1256:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3","typeString":"literal_string \"Task already completed\""},"value":"Task already completed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3","typeString":"literal_string \"Task already completed\""}],"id":845,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1210:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1210:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":857,"nodeType":"ExpressionStatement","src":"1210:71:5"},{"expression":{"id":870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":858,"name":"ledger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":812,"src":"1343:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_WorkTask_$807_storage_$","typeString":"mapping(uint256 => struct EdgeSwarm.WorkTask storage ref)"}},"id":860,"indexExpression":{"id":859,"name":"_taskId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"1350:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1343:15:5","typeDescriptions":{"typeIdentifier":"t_struct$_WorkTask_$807_storage","typeString":"struct EdgeSwarm.WorkTask storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":862,"name":"_taskId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"1392:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":863,"name":"_score","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"src":"1430:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"expression":{"id":864,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1458:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1462:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1458:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":866,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1493:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1499:9:5","memberName":"timestamp","nodeType":"MemberAccess","src":"1493:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":868,"name":"_fileHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"1532:9:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":861,"name":"WorkTask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":807,"src":"1361:8:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_WorkTask_$807_storage_ptr_$","typeString":"type(struct EdgeSwarm.WorkTask storage pointer)"}},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1384:6:5","1413:15:5","1450:6:5","1482:9:5","1522:8:5"],"names":["taskId","predictionScore","worker","timestamp","fileHash"],"nodeType":"FunctionCall","src":"1361:222:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_WorkTask_$807_memory_ptr","typeString":"struct EdgeSwarm.WorkTask memory"}},"src":"1343:240:5","typeDescriptions":{"typeIdentifier":"t_struct$_WorkTask_$807_storage","typeString":"struct EdgeSwarm.WorkTask storage ref"}},"id":871,"nodeType":"ExpressionStatement","src":"1343:240:5"},{"expression":{"id":877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":872,"name":"ubiEarned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":796,"src":"1675:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":875,"indexExpression":{"expression":{"id":873,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1685:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1689:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1685:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1675:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1675:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":878,"nodeType":"ExpressionStatement","src":"1675:26:5"},{"expression":{"arguments":[{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1788:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1792:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1788:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1800:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1804:2:5","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1808:2:5","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"1804:6:5","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"src":"1800:10:5","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}],"id":879,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"1782:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1782:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"ExpressionStatement","src":"1782:29:5"},{"eventCall":{"arguments":[{"expression":{"id":890,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1912:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1912:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":892,"name":"_taskId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":838,"src":"1924:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":893,"name":"_score","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":840,"src":"1933:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":894,"name":"_fileHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":842,"src":"1941:9:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":889,"name":"WorkVerified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":822,"src":"1899:12:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,int256,string memory)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1899:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"EmitStatement","src":"1894:57:5"}]},"documentation":{"id":836,"nodeType":"StructuredDocumentation","src":"978:133:5","text":" @dev This is the function your Pixel 10 calls.\n <-- ADDED string memory _fileHash to the required parameters"},"functionSelector":"00a82c76","id":898,"implemented":true,"kind":"function","modifiers":[],"name":"submitWork","nameLocation":"1125:10:5","nodeType":"FunctionDefinition","parameters":{"id":843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":838,"mutability":"mutable","name":"_taskId","nameLocation":"1144:7:5","nodeType":"VariableDeclaration","scope":898,"src":"1136:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":837,"name":"uint256","nodeType":"ElementaryTypeName","src":"1136:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":840,"mutability":"mutable","name":"_score","nameLocation":"1160:6:5","nodeType":"VariableDeclaration","scope":898,"src":"1153:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":839,"name":"int256","nodeType":"ElementaryTypeName","src":"1153:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":842,"mutability":"mutable","name":"_fileHash","nameLocation":"1182:9:5","nodeType":"VariableDeclaration","scope":898,"src":"1168:23:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":841,"name":"string","nodeType":"ElementaryTypeName","src":"1168:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1135:57:5"},"returnParameters":{"id":844,"nodeType":"ParameterList","parameters":[],"src":"1200:0:5"},"scope":899,"src":"1116:842:5","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":900,"src":"115:1845:5","usedErrors":[11,16,21,30,35,40],"usedEvents":[663,672,822]}],"src":"32:1929:5"},"id":5}},"contracts":{"@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC1155InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC1155InvalidApprover","type":"error"},{"inputs":[{"internalType":"uint256","name":"idsLength","type":"uint256"},{"internalType":"uint256","name":"valuesLength","type":"uint256"}],"name":"ERC1155InvalidArrayLength","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC1155InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC1155InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC1155InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC1155MissingApprovalForAll","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]}},\"version\":1}"},"IERC20Errors":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]}},\"version\":1}"},"IERC721Errors":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721IncorrectOwner","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721InsufficientApproval","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC721InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"ERC721InvalidOperator","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"ERC721InvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC721InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC721InvalidSender","type":"error"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ERC721NonexistentToken","type":"error"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]}},\"version\":1}"}},"@openzeppelin/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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":"value","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"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.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"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\":\"value\",\"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\":\"value\",\"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\":\"value\",\"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}. 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]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. 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 ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"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\":\"See {IERC20-approve}. NOTE: If `value` 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\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both 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 default value returned by this function, unless it's 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}.\"},\"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\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. 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 `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x669464167428061ee0f8618b73b3ee90aff8405683e7ddde8cd77dadaa1afe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dda78587a7358b4fdf6b9fca0fde5a5e34930f36d5268a16028627fc0170195\",\"dweb:/ipfs/QmQ1b6cCceDRWNxti9HifsTCzmVP25Haxs1bWugm52vTqH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"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":"value","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"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.24+commit.e11b9ed9\"},\"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\":\"value\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"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 a `value` amount of tokens 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 value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of 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 a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` 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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"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":"value","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"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.24+commit.e11b9ed9\"},\"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\":\"value\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"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 a `value` amount of tokens 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 value 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 value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of 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 a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` 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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}"}},"@openzeppelin/contracts/utils/Context.sol":{"Context":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"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\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}"}},"contracts/EdgeSwarm.sol":{"EdgeSwarm":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"worker","type":"address"},{"indexed":false,"internalType":"uint256","name":"taskId","type":"uint256"},{"indexed":false,"internalType":"int256","name":"score","type":"int256"},{"indexed":false,"internalType":"string","name":"fileHash","type":"string"}],"name":"WorkVerified","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":"value","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":"uint256","name":"","type":"uint256"}],"name":"ledger","outputs":[{"internalType":"uint256","name":"taskId","type":"uint256"},{"internalType":"int256","name":"predictionScore","type":"int256"},{"internalType":"address","name":"worker","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"fileHash","type":"string"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_taskId","type":"uint256"},{"internalType":"int256","name":"_score","type":"int256"},{"internalType":"string","name":"_fileHash","type":"string"}],"name":"submitWork","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":"value","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":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ubiEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_188":{"entryPoint":null,"id":188,"parameterSlots":2,"returnSlots":0},"@_835":{"entryPoint":null,"id":835,"parameterSlots":0,"returnSlots":0},"array_dataslot_t_string_storage":{"entryPoint":393,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":235,"id":null,"parameterSlots":1,"returnSlots":1},"clean_up_bytearray_end_slots_t_string_storage":{"entryPoint":714,"id":null,"parameterSlots":3,"returnSlots":0},"cleanup_t_uint256":{"entryPoint":529,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_t_bytes1":{"entryPoint":675,"id":null,"parameterSlots":2,"returnSlots":0},"convert_t_uint256_to_t_uint256":{"entryPoint":549,"id":null,"parameterSlots":1,"returnSlots":1},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":869,"id":null,"parameterSlots":2,"returnSlots":0},"divide_by_32_ceil":{"entryPoint":414,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":340,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":839,"id":null,"parameterSlots":2,"returnSlots":1},"identity":{"entryPoint":539,"id":null,"parameterSlots":1,"returnSlots":1},"mask_bytes_dynamic":{"entryPoint":807,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x22":{"entryPoint":293,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":246,"id":null,"parameterSlots":0,"returnSlots":0},"prepare_store_t_uint256":{"entryPoint":589,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_dynamic":{"entryPoint":430,"id":null,"parameterSlots":2,"returnSlots":1},"shift_right_unsigned_dynamic":{"entryPoint":794,"id":null,"parameterSlots":2,"returnSlots":1},"storage_set_to_zero_t_uint256":{"entryPoint":647,"id":null,"parameterSlots":2,"returnSlots":0},"update_byte_slice_dynamic32":{"entryPoint":443,"id":null,"parameterSlots":3,"returnSlots":1},"update_storage_value_t_uint256_to_t_uint256":{"entryPoint":599,"id":null,"parameterSlots":3,"returnSlots":0},"zero_value_for_split_t_uint256":{"entryPoint":642,"id":null,"parameterSlots":0,"returnSlots":1}},"generatedSources":[{"ast":{"nativeSrc":"0:5231:6","nodeType":"YulBlock","src":"0:5231:6","statements":[{"body":{"nativeSrc":"66:40:6","nodeType":"YulBlock","src":"66:40:6","statements":[{"nativeSrc":"77:22:6","nodeType":"YulAssignment","src":"77:22:6","value":{"arguments":[{"name":"value","nativeSrc":"93:5:6","nodeType":"YulIdentifier","src":"93:5:6"}],"functionName":{"name":"mload","nativeSrc":"87:5:6","nodeType":"YulIdentifier","src":"87:5:6"},"nativeSrc":"87:12:6","nodeType":"YulFunctionCall","src":"87:12:6"},"variableNames":[{"name":"length","nativeSrc":"77:6:6","nodeType":"YulIdentifier","src":"77:6:6"}]}]},"name":"array_length_t_string_memory_ptr","nativeSrc":"7:99:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"49:5:6","nodeType":"YulTypedName","src":"49:5:6","type":""}],"returnVariables":[{"name":"length","nativeSrc":"59:6:6","nodeType":"YulTypedName","src":"59:6:6","type":""}],"src":"7:99:6"},{"body":{"nativeSrc":"140:152:6","nodeType":"YulBlock","src":"140:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"157:1:6","nodeType":"YulLiteral","src":"157:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"160:77:6","nodeType":"YulLiteral","src":"160:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"150:6:6","nodeType":"YulIdentifier","src":"150:6:6"},"nativeSrc":"150:88:6","nodeType":"YulFunctionCall","src":"150:88:6"},"nativeSrc":"150:88:6","nodeType":"YulExpressionStatement","src":"150:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"254:1:6","nodeType":"YulLiteral","src":"254:1:6","type":"","value":"4"},{"kind":"number","nativeSrc":"257:4:6","nodeType":"YulLiteral","src":"257:4:6","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"247:6:6","nodeType":"YulIdentifier","src":"247:6:6"},"nativeSrc":"247:15:6","nodeType":"YulFunctionCall","src":"247:15:6"},"nativeSrc":"247:15:6","nodeType":"YulExpressionStatement","src":"247:15:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"278:1:6","nodeType":"YulLiteral","src":"278:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"281:4:6","nodeType":"YulLiteral","src":"281:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"271:6:6","nodeType":"YulIdentifier","src":"271:6:6"},"nativeSrc":"271:15:6","nodeType":"YulFunctionCall","src":"271:15:6"},"nativeSrc":"271:15:6","nodeType":"YulExpressionStatement","src":"271:15:6"}]},"name":"panic_error_0x41","nativeSrc":"112:180:6","nodeType":"YulFunctionDefinition","src":"112:180:6"},{"body":{"nativeSrc":"326:152:6","nodeType":"YulBlock","src":"326:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"343:1:6","nodeType":"YulLiteral","src":"343:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"346:77:6","nodeType":"YulLiteral","src":"346:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"336:6:6","nodeType":"YulIdentifier","src":"336:6:6"},"nativeSrc":"336:88:6","nodeType":"YulFunctionCall","src":"336:88:6"},"nativeSrc":"336:88:6","nodeType":"YulExpressionStatement","src":"336:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"440:1:6","nodeType":"YulLiteral","src":"440:1:6","type":"","value":"4"},{"kind":"number","nativeSrc":"443:4:6","nodeType":"YulLiteral","src":"443:4:6","type":"","value":"0x22"}],"functionName":{"name":"mstore","nativeSrc":"433:6:6","nodeType":"YulIdentifier","src":"433:6:6"},"nativeSrc":"433:15:6","nodeType":"YulFunctionCall","src":"433:15:6"},"nativeSrc":"433:15:6","nodeType":"YulExpressionStatement","src":"433:15:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"464:1:6","nodeType":"YulLiteral","src":"464:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"467:4:6","nodeType":"YulLiteral","src":"467:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"457:6:6","nodeType":"YulIdentifier","src":"457:6:6"},"nativeSrc":"457:15:6","nodeType":"YulFunctionCall","src":"457:15:6"},"nativeSrc":"457:15:6","nodeType":"YulExpressionStatement","src":"457:15:6"}]},"name":"panic_error_0x22","nativeSrc":"298:180:6","nodeType":"YulFunctionDefinition","src":"298:180:6"},{"body":{"nativeSrc":"535:269:6","nodeType":"YulBlock","src":"535:269:6","statements":[{"nativeSrc":"545:22:6","nodeType":"YulAssignment","src":"545:22:6","value":{"arguments":[{"name":"data","nativeSrc":"559:4:6","nodeType":"YulIdentifier","src":"559:4:6"},{"kind":"number","nativeSrc":"565:1:6","nodeType":"YulLiteral","src":"565:1:6","type":"","value":"2"}],"functionName":{"name":"div","nativeSrc":"555:3:6","nodeType":"YulIdentifier","src":"555:3:6"},"nativeSrc":"555:12:6","nodeType":"YulFunctionCall","src":"555:12:6"},"variableNames":[{"name":"length","nativeSrc":"545:6:6","nodeType":"YulIdentifier","src":"545:6:6"}]},{"nativeSrc":"576:38:6","nodeType":"YulVariableDeclaration","src":"576:38:6","value":{"arguments":[{"name":"data","nativeSrc":"606:4:6","nodeType":"YulIdentifier","src":"606:4:6"},{"kind":"number","nativeSrc":"612:1:6","nodeType":"YulLiteral","src":"612:1:6","type":"","value":"1"}],"functionName":{"name":"and","nativeSrc":"602:3:6","nodeType":"YulIdentifier","src":"602:3:6"},"nativeSrc":"602:12:6","nodeType":"YulFunctionCall","src":"602:12:6"},"variables":[{"name":"outOfPlaceEncoding","nativeSrc":"580:18:6","nodeType":"YulTypedName","src":"580:18:6","type":""}]},{"body":{"nativeSrc":"653:51:6","nodeType":"YulBlock","src":"653:51:6","statements":[{"nativeSrc":"667:27:6","nodeType":"YulAssignment","src":"667:27:6","value":{"arguments":[{"name":"length","nativeSrc":"681:6:6","nodeType":"YulIdentifier","src":"681:6:6"},{"kind":"number","nativeSrc":"689:4:6","nodeType":"YulLiteral","src":"689:4:6","type":"","value":"0x7f"}],"functionName":{"name":"and","nativeSrc":"677:3:6","nodeType":"YulIdentifier","src":"677:3:6"},"nativeSrc":"677:17:6","nodeType":"YulFunctionCall","src":"677:17:6"},"variableNames":[{"name":"length","nativeSrc":"667:6:6","nodeType":"YulIdentifier","src":"667:6:6"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"633:18:6","nodeType":"YulIdentifier","src":"633:18:6"}],"functionName":{"name":"iszero","nativeSrc":"626:6:6","nodeType":"YulIdentifier","src":"626:6:6"},"nativeSrc":"626:26:6","nodeType":"YulFunctionCall","src":"626:26:6"},"nativeSrc":"623:81:6","nodeType":"YulIf","src":"623:81:6"},{"body":{"nativeSrc":"756:42:6","nodeType":"YulBlock","src":"756:42:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nativeSrc":"770:16:6","nodeType":"YulIdentifier","src":"770:16:6"},"nativeSrc":"770:18:6","nodeType":"YulFunctionCall","src":"770:18:6"},"nativeSrc":"770:18:6","nodeType":"YulExpressionStatement","src":"770:18:6"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"720:18:6","nodeType":"YulIdentifier","src":"720:18:6"},{"arguments":[{"name":"length","nativeSrc":"743:6:6","nodeType":"YulIdentifier","src":"743:6:6"},{"kind":"number","nativeSrc":"751:2:6","nodeType":"YulLiteral","src":"751:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"740:2:6","nodeType":"YulIdentifier","src":"740:2:6"},"nativeSrc":"740:14:6","nodeType":"YulFunctionCall","src":"740:14:6"}],"functionName":{"name":"eq","nativeSrc":"717:2:6","nodeType":"YulIdentifier","src":"717:2:6"},"nativeSrc":"717:38:6","nodeType":"YulFunctionCall","src":"717:38:6"},"nativeSrc":"714:84:6","nodeType":"YulIf","src":"714:84:6"}]},"name":"extract_byte_array_length","nativeSrc":"484:320:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"519:4:6","nodeType":"YulTypedName","src":"519:4:6","type":""}],"returnVariables":[{"name":"length","nativeSrc":"528:6:6","nodeType":"YulTypedName","src":"528:6:6","type":""}],"src":"484:320:6"},{"body":{"nativeSrc":"864:87:6","nodeType":"YulBlock","src":"864:87:6","statements":[{"nativeSrc":"874:11:6","nodeType":"YulAssignment","src":"874:11:6","value":{"name":"ptr","nativeSrc":"882:3:6","nodeType":"YulIdentifier","src":"882:3:6"},"variableNames":[{"name":"data","nativeSrc":"874:4:6","nodeType":"YulIdentifier","src":"874:4:6"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"902:1:6","nodeType":"YulLiteral","src":"902:1:6","type":"","value":"0"},{"name":"ptr","nativeSrc":"905:3:6","nodeType":"YulIdentifier","src":"905:3:6"}],"functionName":{"name":"mstore","nativeSrc":"895:6:6","nodeType":"YulIdentifier","src":"895:6:6"},"nativeSrc":"895:14:6","nodeType":"YulFunctionCall","src":"895:14:6"},"nativeSrc":"895:14:6","nodeType":"YulExpressionStatement","src":"895:14:6"},{"nativeSrc":"918:26:6","nodeType":"YulAssignment","src":"918:26:6","value":{"arguments":[{"kind":"number","nativeSrc":"936:1:6","nodeType":"YulLiteral","src":"936:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"939:4:6","nodeType":"YulLiteral","src":"939:4:6","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"926:9:6","nodeType":"YulIdentifier","src":"926:9:6"},"nativeSrc":"926:18:6","nodeType":"YulFunctionCall","src":"926:18:6"},"variableNames":[{"name":"data","nativeSrc":"918:4:6","nodeType":"YulIdentifier","src":"918:4:6"}]}]},"name":"array_dataslot_t_string_storage","nativeSrc":"810:141:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nativeSrc":"851:3:6","nodeType":"YulTypedName","src":"851:3:6","type":""}],"returnVariables":[{"name":"data","nativeSrc":"859:4:6","nodeType":"YulTypedName","src":"859:4:6","type":""}],"src":"810:141:6"},{"body":{"nativeSrc":"1001:49:6","nodeType":"YulBlock","src":"1001:49:6","statements":[{"nativeSrc":"1011:33:6","nodeType":"YulAssignment","src":"1011:33:6","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1029:5:6","nodeType":"YulIdentifier","src":"1029:5:6"},{"kind":"number","nativeSrc":"1036:2:6","nodeType":"YulLiteral","src":"1036:2:6","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"1025:3:6","nodeType":"YulIdentifier","src":"1025:3:6"},"nativeSrc":"1025:14:6","nodeType":"YulFunctionCall","src":"1025:14:6"},{"kind":"number","nativeSrc":"1041:2:6","nodeType":"YulLiteral","src":"1041:2:6","type":"","value":"32"}],"functionName":{"name":"div","nativeSrc":"1021:3:6","nodeType":"YulIdentifier","src":"1021:3:6"},"nativeSrc":"1021:23:6","nodeType":"YulFunctionCall","src":"1021:23:6"},"variableNames":[{"name":"result","nativeSrc":"1011:6:6","nodeType":"YulIdentifier","src":"1011:6:6"}]}]},"name":"divide_by_32_ceil","nativeSrc":"957:93:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"984:5:6","nodeType":"YulTypedName","src":"984:5:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"994:6:6","nodeType":"YulTypedName","src":"994:6:6","type":""}],"src":"957:93:6"},{"body":{"nativeSrc":"1109:54:6","nodeType":"YulBlock","src":"1109:54:6","statements":[{"nativeSrc":"1119:37:6","nodeType":"YulAssignment","src":"1119:37:6","value":{"arguments":[{"name":"bits","nativeSrc":"1144:4:6","nodeType":"YulIdentifier","src":"1144:4:6"},{"name":"value","nativeSrc":"1150:5:6","nodeType":"YulIdentifier","src":"1150:5:6"}],"functionName":{"name":"shl","nativeSrc":"1140:3:6","nodeType":"YulIdentifier","src":"1140:3:6"},"nativeSrc":"1140:16:6","nodeType":"YulFunctionCall","src":"1140:16:6"},"variableNames":[{"name":"newValue","nativeSrc":"1119:8:6","nodeType":"YulIdentifier","src":"1119:8:6"}]}]},"name":"shift_left_dynamic","nativeSrc":"1056:107:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"1084:4:6","nodeType":"YulTypedName","src":"1084:4:6","type":""},{"name":"value","nativeSrc":"1090:5:6","nodeType":"YulTypedName","src":"1090:5:6","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"1100:8:6","nodeType":"YulTypedName","src":"1100:8:6","type":""}],"src":"1056:107:6"},{"body":{"nativeSrc":"1245:317:6","nodeType":"YulBlock","src":"1245:317:6","statements":[{"nativeSrc":"1255:35:6","nodeType":"YulVariableDeclaration","src":"1255:35:6","value":{"arguments":[{"name":"shiftBytes","nativeSrc":"1276:10:6","nodeType":"YulIdentifier","src":"1276:10:6"},{"kind":"number","nativeSrc":"1288:1:6","nodeType":"YulLiteral","src":"1288:1:6","type":"","value":"8"}],"functionName":{"name":"mul","nativeSrc":"1272:3:6","nodeType":"YulIdentifier","src":"1272:3:6"},"nativeSrc":"1272:18:6","nodeType":"YulFunctionCall","src":"1272:18:6"},"variables":[{"name":"shiftBits","nativeSrc":"1259:9:6","nodeType":"YulTypedName","src":"1259:9:6","type":""}]},{"nativeSrc":"1299:109:6","nodeType":"YulVariableDeclaration","src":"1299:109:6","value":{"arguments":[{"name":"shiftBits","nativeSrc":"1330:9:6","nodeType":"YulIdentifier","src":"1330:9:6"},{"kind":"number","nativeSrc":"1341:66:6","nodeType":"YulLiteral","src":"1341:66:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"1311:18:6","nodeType":"YulIdentifier","src":"1311:18:6"},"nativeSrc":"1311:97:6","nodeType":"YulFunctionCall","src":"1311:97:6"},"variables":[{"name":"mask","nativeSrc":"1303:4:6","nodeType":"YulTypedName","src":"1303:4:6","type":""}]},{"nativeSrc":"1417:51:6","nodeType":"YulAssignment","src":"1417:51:6","value":{"arguments":[{"name":"shiftBits","nativeSrc":"1448:9:6","nodeType":"YulIdentifier","src":"1448:9:6"},{"name":"toInsert","nativeSrc":"1459:8:6","nodeType":"YulIdentifier","src":"1459:8:6"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"1429:18:6","nodeType":"YulIdentifier","src":"1429:18:6"},"nativeSrc":"1429:39:6","nodeType":"YulFunctionCall","src":"1429:39:6"},"variableNames":[{"name":"toInsert","nativeSrc":"1417:8:6","nodeType":"YulIdentifier","src":"1417:8:6"}]},{"nativeSrc":"1477:30:6","nodeType":"YulAssignment","src":"1477:30:6","value":{"arguments":[{"name":"value","nativeSrc":"1490:5:6","nodeType":"YulIdentifier","src":"1490:5:6"},{"arguments":[{"name":"mask","nativeSrc":"1501:4:6","nodeType":"YulIdentifier","src":"1501:4:6"}],"functionName":{"name":"not","nativeSrc":"1497:3:6","nodeType":"YulIdentifier","src":"1497:3:6"},"nativeSrc":"1497:9:6","nodeType":"YulFunctionCall","src":"1497:9:6"}],"functionName":{"name":"and","nativeSrc":"1486:3:6","nodeType":"YulIdentifier","src":"1486:3:6"},"nativeSrc":"1486:21:6","nodeType":"YulFunctionCall","src":"1486:21:6"},"variableNames":[{"name":"value","nativeSrc":"1477:5:6","nodeType":"YulIdentifier","src":"1477:5:6"}]},{"nativeSrc":"1516:40:6","nodeType":"YulAssignment","src":"1516:40:6","value":{"arguments":[{"name":"value","nativeSrc":"1529:5:6","nodeType":"YulIdentifier","src":"1529:5:6"},{"arguments":[{"name":"toInsert","nativeSrc":"1540:8:6","nodeType":"YulIdentifier","src":"1540:8:6"},{"name":"mask","nativeSrc":"1550:4:6","nodeType":"YulIdentifier","src":"1550:4:6"}],"functionName":{"name":"and","nativeSrc":"1536:3:6","nodeType":"YulIdentifier","src":"1536:3:6"},"nativeSrc":"1536:19:6","nodeType":"YulFunctionCall","src":"1536:19:6"}],"functionName":{"name":"or","nativeSrc":"1526:2:6","nodeType":"YulIdentifier","src":"1526:2:6"},"nativeSrc":"1526:30:6","nodeType":"YulFunctionCall","src":"1526:30:6"},"variableNames":[{"name":"result","nativeSrc":"1516:6:6","nodeType":"YulIdentifier","src":"1516:6:6"}]}]},"name":"update_byte_slice_dynamic32","nativeSrc":"1169:393:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1206:5:6","nodeType":"YulTypedName","src":"1206:5:6","type":""},{"name":"shiftBytes","nativeSrc":"1213:10:6","nodeType":"YulTypedName","src":"1213:10:6","type":""},{"name":"toInsert","nativeSrc":"1225:8:6","nodeType":"YulTypedName","src":"1225:8:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"1238:6:6","nodeType":"YulTypedName","src":"1238:6:6","type":""}],"src":"1169:393:6"},{"body":{"nativeSrc":"1613:32:6","nodeType":"YulBlock","src":"1613:32:6","statements":[{"nativeSrc":"1623:16:6","nodeType":"YulAssignment","src":"1623:16:6","value":{"name":"value","nativeSrc":"1634:5:6","nodeType":"YulIdentifier","src":"1634:5:6"},"variableNames":[{"name":"cleaned","nativeSrc":"1623:7:6","nodeType":"YulIdentifier","src":"1623:7:6"}]}]},"name":"cleanup_t_uint256","nativeSrc":"1568:77:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1595:5:6","nodeType":"YulTypedName","src":"1595:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"1605:7:6","nodeType":"YulTypedName","src":"1605:7:6","type":""}],"src":"1568:77:6"},{"body":{"nativeSrc":"1683:28:6","nodeType":"YulBlock","src":"1683:28:6","statements":[{"nativeSrc":"1693:12:6","nodeType":"YulAssignment","src":"1693:12:6","value":{"name":"value","nativeSrc":"1700:5:6","nodeType":"YulIdentifier","src":"1700:5:6"},"variableNames":[{"name":"ret","nativeSrc":"1693:3:6","nodeType":"YulIdentifier","src":"1693:3:6"}]}]},"name":"identity","nativeSrc":"1651:60:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1669:5:6","nodeType":"YulTypedName","src":"1669:5:6","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"1679:3:6","nodeType":"YulTypedName","src":"1679:3:6","type":""}],"src":"1651:60:6"},{"body":{"nativeSrc":"1777:82:6","nodeType":"YulBlock","src":"1777:82:6","statements":[{"nativeSrc":"1787:66:6","nodeType":"YulAssignment","src":"1787:66:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1845:5:6","nodeType":"YulIdentifier","src":"1845:5:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"1827:17:6","nodeType":"YulIdentifier","src":"1827:17:6"},"nativeSrc":"1827:24:6","nodeType":"YulFunctionCall","src":"1827:24:6"}],"functionName":{"name":"identity","nativeSrc":"1818:8:6","nodeType":"YulIdentifier","src":"1818:8:6"},"nativeSrc":"1818:34:6","nodeType":"YulFunctionCall","src":"1818:34:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"1800:17:6","nodeType":"YulIdentifier","src":"1800:17:6"},"nativeSrc":"1800:53:6","nodeType":"YulFunctionCall","src":"1800:53:6"},"variableNames":[{"name":"converted","nativeSrc":"1787:9:6","nodeType":"YulIdentifier","src":"1787:9:6"}]}]},"name":"convert_t_uint256_to_t_uint256","nativeSrc":"1717:142:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1757:5:6","nodeType":"YulTypedName","src":"1757:5:6","type":""}],"returnVariables":[{"name":"converted","nativeSrc":"1767:9:6","nodeType":"YulTypedName","src":"1767:9:6","type":""}],"src":"1717:142:6"},{"body":{"nativeSrc":"1912:28:6","nodeType":"YulBlock","src":"1912:28:6","statements":[{"nativeSrc":"1922:12:6","nodeType":"YulAssignment","src":"1922:12:6","value":{"name":"value","nativeSrc":"1929:5:6","nodeType":"YulIdentifier","src":"1929:5:6"},"variableNames":[{"name":"ret","nativeSrc":"1922:3:6","nodeType":"YulIdentifier","src":"1922:3:6"}]}]},"name":"prepare_store_t_uint256","nativeSrc":"1865:75:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1898:5:6","nodeType":"YulTypedName","src":"1898:5:6","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"1908:3:6","nodeType":"YulTypedName","src":"1908:3:6","type":""}],"src":"1865:75:6"},{"body":{"nativeSrc":"2022:193:6","nodeType":"YulBlock","src":"2022:193:6","statements":[{"nativeSrc":"2032:63:6","nodeType":"YulVariableDeclaration","src":"2032:63:6","value":{"arguments":[{"name":"value_0","nativeSrc":"2087:7:6","nodeType":"YulIdentifier","src":"2087:7:6"}],"functionName":{"name":"convert_t_uint256_to_t_uint256","nativeSrc":"2056:30:6","nodeType":"YulIdentifier","src":"2056:30:6"},"nativeSrc":"2056:39:6","nodeType":"YulFunctionCall","src":"2056:39:6"},"variables":[{"name":"convertedValue_0","nativeSrc":"2036:16:6","nodeType":"YulTypedName","src":"2036:16:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"2111:4:6","nodeType":"YulIdentifier","src":"2111:4:6"},{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"2151:4:6","nodeType":"YulIdentifier","src":"2151:4:6"}],"functionName":{"name":"sload","nativeSrc":"2145:5:6","nodeType":"YulIdentifier","src":"2145:5:6"},"nativeSrc":"2145:11:6","nodeType":"YulFunctionCall","src":"2145:11:6"},{"name":"offset","nativeSrc":"2158:6:6","nodeType":"YulIdentifier","src":"2158:6:6"},{"arguments":[{"name":"convertedValue_0","nativeSrc":"2190:16:6","nodeType":"YulIdentifier","src":"2190:16:6"}],"functionName":{"name":"prepare_store_t_uint256","nativeSrc":"2166:23:6","nodeType":"YulIdentifier","src":"2166:23:6"},"nativeSrc":"2166:41:6","nodeType":"YulFunctionCall","src":"2166:41:6"}],"functionName":{"name":"update_byte_slice_dynamic32","nativeSrc":"2117:27:6","nodeType":"YulIdentifier","src":"2117:27:6"},"nativeSrc":"2117:91:6","nodeType":"YulFunctionCall","src":"2117:91:6"}],"functionName":{"name":"sstore","nativeSrc":"2104:6:6","nodeType":"YulIdentifier","src":"2104:6:6"},"nativeSrc":"2104:105:6","nodeType":"YulFunctionCall","src":"2104:105:6"},"nativeSrc":"2104:105:6","nodeType":"YulExpressionStatement","src":"2104:105:6"}]},"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"1946:269:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"1999:4:6","nodeType":"YulTypedName","src":"1999:4:6","type":""},{"name":"offset","nativeSrc":"2005:6:6","nodeType":"YulTypedName","src":"2005:6:6","type":""},{"name":"value_0","nativeSrc":"2013:7:6","nodeType":"YulTypedName","src":"2013:7:6","type":""}],"src":"1946:269:6"},{"body":{"nativeSrc":"2270:24:6","nodeType":"YulBlock","src":"2270:24:6","statements":[{"nativeSrc":"2280:8:6","nodeType":"YulAssignment","src":"2280:8:6","value":{"kind":"number","nativeSrc":"2287:1:6","nodeType":"YulLiteral","src":"2287:1:6","type":"","value":"0"},"variableNames":[{"name":"ret","nativeSrc":"2280:3:6","nodeType":"YulIdentifier","src":"2280:3:6"}]}]},"name":"zero_value_for_split_t_uint256","nativeSrc":"2221:73:6","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nativeSrc":"2266:3:6","nodeType":"YulTypedName","src":"2266:3:6","type":""}],"src":"2221:73:6"},{"body":{"nativeSrc":"2353:136:6","nodeType":"YulBlock","src":"2353:136:6","statements":[{"nativeSrc":"2363:46:6","nodeType":"YulVariableDeclaration","src":"2363:46:6","value":{"arguments":[],"functionName":{"name":"zero_value_for_split_t_uint256","nativeSrc":"2377:30:6","nodeType":"YulIdentifier","src":"2377:30:6"},"nativeSrc":"2377:32:6","nodeType":"YulFunctionCall","src":"2377:32:6"},"variables":[{"name":"zero_0","nativeSrc":"2367:6:6","nodeType":"YulTypedName","src":"2367:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"2462:4:6","nodeType":"YulIdentifier","src":"2462:4:6"},{"name":"offset","nativeSrc":"2468:6:6","nodeType":"YulIdentifier","src":"2468:6:6"},{"name":"zero_0","nativeSrc":"2476:6:6","nodeType":"YulIdentifier","src":"2476:6:6"}],"functionName":{"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"2418:43:6","nodeType":"YulIdentifier","src":"2418:43:6"},"nativeSrc":"2418:65:6","nodeType":"YulFunctionCall","src":"2418:65:6"},"nativeSrc":"2418:65:6","nodeType":"YulExpressionStatement","src":"2418:65:6"}]},"name":"storage_set_to_zero_t_uint256","nativeSrc":"2300:189:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"2339:4:6","nodeType":"YulTypedName","src":"2339:4:6","type":""},{"name":"offset","nativeSrc":"2345:6:6","nodeType":"YulTypedName","src":"2345:6:6","type":""}],"src":"2300:189:6"},{"body":{"nativeSrc":"2545:136:6","nodeType":"YulBlock","src":"2545:136:6","statements":[{"body":{"nativeSrc":"2612:63:6","nodeType":"YulBlock","src":"2612:63:6","statements":[{"expression":{"arguments":[{"name":"start","nativeSrc":"2656:5:6","nodeType":"YulIdentifier","src":"2656:5:6"},{"kind":"number","nativeSrc":"2663:1:6","nodeType":"YulLiteral","src":"2663:1:6","type":"","value":"0"}],"functionName":{"name":"storage_set_to_zero_t_uint256","nativeSrc":"2626:29:6","nodeType":"YulIdentifier","src":"2626:29:6"},"nativeSrc":"2626:39:6","nodeType":"YulFunctionCall","src":"2626:39:6"},"nativeSrc":"2626:39:6","nodeType":"YulExpressionStatement","src":"2626:39:6"}]},"condition":{"arguments":[{"name":"start","nativeSrc":"2565:5:6","nodeType":"YulIdentifier","src":"2565:5:6"},{"name":"end","nativeSrc":"2572:3:6","nodeType":"YulIdentifier","src":"2572:3:6"}],"functionName":{"name":"lt","nativeSrc":"2562:2:6","nodeType":"YulIdentifier","src":"2562:2:6"},"nativeSrc":"2562:14:6","nodeType":"YulFunctionCall","src":"2562:14:6"},"nativeSrc":"2555:120:6","nodeType":"YulForLoop","post":{"nativeSrc":"2577:26:6","nodeType":"YulBlock","src":"2577:26:6","statements":[{"nativeSrc":"2579:22:6","nodeType":"YulAssignment","src":"2579:22:6","value":{"arguments":[{"name":"start","nativeSrc":"2592:5:6","nodeType":"YulIdentifier","src":"2592:5:6"},{"kind":"number","nativeSrc":"2599:1:6","nodeType":"YulLiteral","src":"2599:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"2588:3:6","nodeType":"YulIdentifier","src":"2588:3:6"},"nativeSrc":"2588:13:6","nodeType":"YulFunctionCall","src":"2588:13:6"},"variableNames":[{"name":"start","nativeSrc":"2579:5:6","nodeType":"YulIdentifier","src":"2579:5:6"}]}]},"pre":{"nativeSrc":"2559:2:6","nodeType":"YulBlock","src":"2559:2:6","statements":[]},"src":"2555:120:6"}]},"name":"clear_storage_range_t_bytes1","nativeSrc":"2495:186:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nativeSrc":"2533:5:6","nodeType":"YulTypedName","src":"2533:5:6","type":""},{"name":"end","nativeSrc":"2540:3:6","nodeType":"YulTypedName","src":"2540:3:6","type":""}],"src":"2495:186:6"},{"body":{"nativeSrc":"2766:464:6","nodeType":"YulBlock","src":"2766:464:6","statements":[{"body":{"nativeSrc":"2792:431:6","nodeType":"YulBlock","src":"2792:431:6","statements":[{"nativeSrc":"2806:54:6","nodeType":"YulVariableDeclaration","src":"2806:54:6","value":{"arguments":[{"name":"array","nativeSrc":"2854:5:6","nodeType":"YulIdentifier","src":"2854:5:6"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"2822:31:6","nodeType":"YulIdentifier","src":"2822:31:6"},"nativeSrc":"2822:38:6","nodeType":"YulFunctionCall","src":"2822:38:6"},"variables":[{"name":"dataArea","nativeSrc":"2810:8:6","nodeType":"YulTypedName","src":"2810:8:6","type":""}]},{"nativeSrc":"2873:63:6","nodeType":"YulVariableDeclaration","src":"2873:63:6","value":{"arguments":[{"name":"dataArea","nativeSrc":"2896:8:6","nodeType":"YulIdentifier","src":"2896:8:6"},{"arguments":[{"name":"startIndex","nativeSrc":"2924:10:6","nodeType":"YulIdentifier","src":"2924:10:6"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"2906:17:6","nodeType":"YulIdentifier","src":"2906:17:6"},"nativeSrc":"2906:29:6","nodeType":"YulFunctionCall","src":"2906:29:6"}],"functionName":{"name":"add","nativeSrc":"2892:3:6","nodeType":"YulIdentifier","src":"2892:3:6"},"nativeSrc":"2892:44:6","nodeType":"YulFunctionCall","src":"2892:44:6"},"variables":[{"name":"deleteStart","nativeSrc":"2877:11:6","nodeType":"YulTypedName","src":"2877:11:6","type":""}]},{"body":{"nativeSrc":"3093:27:6","nodeType":"YulBlock","src":"3093:27:6","statements":[{"nativeSrc":"3095:23:6","nodeType":"YulAssignment","src":"3095:23:6","value":{"name":"dataArea","nativeSrc":"3110:8:6","nodeType":"YulIdentifier","src":"3110:8:6"},"variableNames":[{"name":"deleteStart","nativeSrc":"3095:11:6","nodeType":"YulIdentifier","src":"3095:11:6"}]}]},"condition":{"arguments":[{"name":"startIndex","nativeSrc":"3077:10:6","nodeType":"YulIdentifier","src":"3077:10:6"},{"kind":"number","nativeSrc":"3089:2:6","nodeType":"YulLiteral","src":"3089:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"3074:2:6","nodeType":"YulIdentifier","src":"3074:2:6"},"nativeSrc":"3074:18:6","nodeType":"YulFunctionCall","src":"3074:18:6"},"nativeSrc":"3071:49:6","nodeType":"YulIf","src":"3071:49:6"},{"expression":{"arguments":[{"name":"deleteStart","nativeSrc":"3162:11:6","nodeType":"YulIdentifier","src":"3162:11:6"},{"arguments":[{"name":"dataArea","nativeSrc":"3179:8:6","nodeType":"YulIdentifier","src":"3179:8:6"},{"arguments":[{"name":"len","nativeSrc":"3207:3:6","nodeType":"YulIdentifier","src":"3207:3:6"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"3189:17:6","nodeType":"YulIdentifier","src":"3189:17:6"},"nativeSrc":"3189:22:6","nodeType":"YulFunctionCall","src":"3189:22:6"}],"functionName":{"name":"add","nativeSrc":"3175:3:6","nodeType":"YulIdentifier","src":"3175:3:6"},"nativeSrc":"3175:37:6","nodeType":"YulFunctionCall","src":"3175:37:6"}],"functionName":{"name":"clear_storage_range_t_bytes1","nativeSrc":"3133:28:6","nodeType":"YulIdentifier","src":"3133:28:6"},"nativeSrc":"3133:80:6","nodeType":"YulFunctionCall","src":"3133:80:6"},"nativeSrc":"3133:80:6","nodeType":"YulExpressionStatement","src":"3133:80:6"}]},"condition":{"arguments":[{"name":"len","nativeSrc":"2783:3:6","nodeType":"YulIdentifier","src":"2783:3:6"},{"kind":"number","nativeSrc":"2788:2:6","nodeType":"YulLiteral","src":"2788:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"2780:2:6","nodeType":"YulIdentifier","src":"2780:2:6"},"nativeSrc":"2780:11:6","nodeType":"YulFunctionCall","src":"2780:11:6"},"nativeSrc":"2777:446:6","nodeType":"YulIf","src":"2777:446:6"}]},"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"2687:543:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nativeSrc":"2742:5:6","nodeType":"YulTypedName","src":"2742:5:6","type":""},{"name":"len","nativeSrc":"2749:3:6","nodeType":"YulTypedName","src":"2749:3:6","type":""},{"name":"startIndex","nativeSrc":"2754:10:6","nodeType":"YulTypedName","src":"2754:10:6","type":""}],"src":"2687:543:6"},{"body":{"nativeSrc":"3299:54:6","nodeType":"YulBlock","src":"3299:54:6","statements":[{"nativeSrc":"3309:37:6","nodeType":"YulAssignment","src":"3309:37:6","value":{"arguments":[{"name":"bits","nativeSrc":"3334:4:6","nodeType":"YulIdentifier","src":"3334:4:6"},{"name":"value","nativeSrc":"3340:5:6","nodeType":"YulIdentifier","src":"3340:5:6"}],"functionName":{"name":"shr","nativeSrc":"3330:3:6","nodeType":"YulIdentifier","src":"3330:3:6"},"nativeSrc":"3330:16:6","nodeType":"YulFunctionCall","src":"3330:16:6"},"variableNames":[{"name":"newValue","nativeSrc":"3309:8:6","nodeType":"YulIdentifier","src":"3309:8:6"}]}]},"name":"shift_right_unsigned_dynamic","nativeSrc":"3236:117:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"3274:4:6","nodeType":"YulTypedName","src":"3274:4:6","type":""},{"name":"value","nativeSrc":"3280:5:6","nodeType":"YulTypedName","src":"3280:5:6","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"3290:8:6","nodeType":"YulTypedName","src":"3290:8:6","type":""}],"src":"3236:117:6"},{"body":{"nativeSrc":"3410:118:6","nodeType":"YulBlock","src":"3410:118:6","statements":[{"nativeSrc":"3420:68:6","nodeType":"YulVariableDeclaration","src":"3420:68:6","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"3469:1:6","nodeType":"YulLiteral","src":"3469:1:6","type":"","value":"8"},{"name":"bytes","nativeSrc":"3472:5:6","nodeType":"YulIdentifier","src":"3472:5:6"}],"functionName":{"name":"mul","nativeSrc":"3465:3:6","nodeType":"YulIdentifier","src":"3465:3:6"},"nativeSrc":"3465:13:6","nodeType":"YulFunctionCall","src":"3465:13:6"},{"arguments":[{"kind":"number","nativeSrc":"3484:1:6","nodeType":"YulLiteral","src":"3484:1:6","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"3480:3:6","nodeType":"YulIdentifier","src":"3480:3:6"},"nativeSrc":"3480:6:6","nodeType":"YulFunctionCall","src":"3480:6:6"}],"functionName":{"name":"shift_right_unsigned_dynamic","nativeSrc":"3436:28:6","nodeType":"YulIdentifier","src":"3436:28:6"},"nativeSrc":"3436:51:6","nodeType":"YulFunctionCall","src":"3436:51:6"}],"functionName":{"name":"not","nativeSrc":"3432:3:6","nodeType":"YulIdentifier","src":"3432:3:6"},"nativeSrc":"3432:56:6","nodeType":"YulFunctionCall","src":"3432:56:6"},"variables":[{"name":"mask","nativeSrc":"3424:4:6","nodeType":"YulTypedName","src":"3424:4:6","type":""}]},{"nativeSrc":"3497:25:6","nodeType":"YulAssignment","src":"3497:25:6","value":{"arguments":[{"name":"data","nativeSrc":"3511:4:6","nodeType":"YulIdentifier","src":"3511:4:6"},{"name":"mask","nativeSrc":"3517:4:6","nodeType":"YulIdentifier","src":"3517:4:6"}],"functionName":{"name":"and","nativeSrc":"3507:3:6","nodeType":"YulIdentifier","src":"3507:3:6"},"nativeSrc":"3507:15:6","nodeType":"YulFunctionCall","src":"3507:15:6"},"variableNames":[{"name":"result","nativeSrc":"3497:6:6","nodeType":"YulIdentifier","src":"3497:6:6"}]}]},"name":"mask_bytes_dynamic","nativeSrc":"3359:169:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"3387:4:6","nodeType":"YulTypedName","src":"3387:4:6","type":""},{"name":"bytes","nativeSrc":"3393:5:6","nodeType":"YulTypedName","src":"3393:5:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"3403:6:6","nodeType":"YulTypedName","src":"3403:6:6","type":""}],"src":"3359:169:6"},{"body":{"nativeSrc":"3614:214:6","nodeType":"YulBlock","src":"3614:214:6","statements":[{"nativeSrc":"3747:37:6","nodeType":"YulAssignment","src":"3747:37:6","value":{"arguments":[{"name":"data","nativeSrc":"3774:4:6","nodeType":"YulIdentifier","src":"3774:4:6"},{"name":"len","nativeSrc":"3780:3:6","nodeType":"YulIdentifier","src":"3780:3:6"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"3755:18:6","nodeType":"YulIdentifier","src":"3755:18:6"},"nativeSrc":"3755:29:6","nodeType":"YulFunctionCall","src":"3755:29:6"},"variableNames":[{"name":"data","nativeSrc":"3747:4:6","nodeType":"YulIdentifier","src":"3747:4:6"}]},{"nativeSrc":"3793:29:6","nodeType":"YulAssignment","src":"3793:29:6","value":{"arguments":[{"name":"data","nativeSrc":"3804:4:6","nodeType":"YulIdentifier","src":"3804:4:6"},{"arguments":[{"kind":"number","nativeSrc":"3814:1:6","nodeType":"YulLiteral","src":"3814:1:6","type":"","value":"2"},{"name":"len","nativeSrc":"3817:3:6","nodeType":"YulIdentifier","src":"3817:3:6"}],"functionName":{"name":"mul","nativeSrc":"3810:3:6","nodeType":"YulIdentifier","src":"3810:3:6"},"nativeSrc":"3810:11:6","nodeType":"YulFunctionCall","src":"3810:11:6"}],"functionName":{"name":"or","nativeSrc":"3801:2:6","nodeType":"YulIdentifier","src":"3801:2:6"},"nativeSrc":"3801:21:6","nodeType":"YulFunctionCall","src":"3801:21:6"},"variableNames":[{"name":"used","nativeSrc":"3793:4:6","nodeType":"YulIdentifier","src":"3793:4:6"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"3533:295:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"3595:4:6","nodeType":"YulTypedName","src":"3595:4:6","type":""},{"name":"len","nativeSrc":"3601:3:6","nodeType":"YulTypedName","src":"3601:3:6","type":""}],"returnVariables":[{"name":"used","nativeSrc":"3609:4:6","nodeType":"YulTypedName","src":"3609:4:6","type":""}],"src":"3533:295:6"},{"body":{"nativeSrc":"3925:1303:6","nodeType":"YulBlock","src":"3925:1303:6","statements":[{"nativeSrc":"3936:51:6","nodeType":"YulVariableDeclaration","src":"3936:51:6","value":{"arguments":[{"name":"src","nativeSrc":"3983:3:6","nodeType":"YulIdentifier","src":"3983:3:6"}],"functionName":{"name":"array_length_t_string_memory_ptr","nativeSrc":"3950:32:6","nodeType":"YulIdentifier","src":"3950:32:6"},"nativeSrc":"3950:37:6","nodeType":"YulFunctionCall","src":"3950:37:6"},"variables":[{"name":"newLen","nativeSrc":"3940:6:6","nodeType":"YulTypedName","src":"3940:6:6","type":""}]},{"body":{"nativeSrc":"4072:22:6","nodeType":"YulBlock","src":"4072:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"4074:16:6","nodeType":"YulIdentifier","src":"4074:16:6"},"nativeSrc":"4074:18:6","nodeType":"YulFunctionCall","src":"4074:18:6"},"nativeSrc":"4074:18:6","nodeType":"YulExpressionStatement","src":"4074:18:6"}]},"condition":{"arguments":[{"name":"newLen","nativeSrc":"4044:6:6","nodeType":"YulIdentifier","src":"4044:6:6"},{"kind":"number","nativeSrc":"4052:18:6","nodeType":"YulLiteral","src":"4052:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"4041:2:6","nodeType":"YulIdentifier","src":"4041:2:6"},"nativeSrc":"4041:30:6","nodeType":"YulFunctionCall","src":"4041:30:6"},"nativeSrc":"4038:56:6","nodeType":"YulIf","src":"4038:56:6"},{"nativeSrc":"4104:52:6","nodeType":"YulVariableDeclaration","src":"4104:52:6","value":{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"4150:4:6","nodeType":"YulIdentifier","src":"4150:4:6"}],"functionName":{"name":"sload","nativeSrc":"4144:5:6","nodeType":"YulIdentifier","src":"4144:5:6"},"nativeSrc":"4144:11:6","nodeType":"YulFunctionCall","src":"4144:11:6"}],"functionName":{"name":"extract_byte_array_length","nativeSrc":"4118:25:6","nodeType":"YulIdentifier","src":"4118:25:6"},"nativeSrc":"4118:38:6","nodeType":"YulFunctionCall","src":"4118:38:6"},"variables":[{"name":"oldLen","nativeSrc":"4108:6:6","nodeType":"YulTypedName","src":"4108:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"4249:4:6","nodeType":"YulIdentifier","src":"4249:4:6"},{"name":"oldLen","nativeSrc":"4255:6:6","nodeType":"YulIdentifier","src":"4255:6:6"},{"name":"newLen","nativeSrc":"4263:6:6","nodeType":"YulIdentifier","src":"4263:6:6"}],"functionName":{"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"4203:45:6","nodeType":"YulIdentifier","src":"4203:45:6"},"nativeSrc":"4203:67:6","nodeType":"YulFunctionCall","src":"4203:67:6"},"nativeSrc":"4203:67:6","nodeType":"YulExpressionStatement","src":"4203:67:6"},{"nativeSrc":"4280:18:6","nodeType":"YulVariableDeclaration","src":"4280:18:6","value":{"kind":"number","nativeSrc":"4297:1:6","nodeType":"YulLiteral","src":"4297:1:6","type":"","value":"0"},"variables":[{"name":"srcOffset","nativeSrc":"4284:9:6","nodeType":"YulTypedName","src":"4284:9:6","type":""}]},{"nativeSrc":"4308:17:6","nodeType":"YulAssignment","src":"4308:17:6","value":{"kind":"number","nativeSrc":"4321:4:6","nodeType":"YulLiteral","src":"4321:4:6","type":"","value":"0x20"},"variableNames":[{"name":"srcOffset","nativeSrc":"4308:9:6","nodeType":"YulIdentifier","src":"4308:9:6"}]},{"cases":[{"body":{"nativeSrc":"4372:611:6","nodeType":"YulBlock","src":"4372:611:6","statements":[{"nativeSrc":"4386:37:6","nodeType":"YulVariableDeclaration","src":"4386:37:6","value":{"arguments":[{"name":"newLen","nativeSrc":"4405:6:6","nodeType":"YulIdentifier","src":"4405:6:6"},{"arguments":[{"kind":"number","nativeSrc":"4417:4:6","nodeType":"YulLiteral","src":"4417:4:6","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"4413:3:6","nodeType":"YulIdentifier","src":"4413:3:6"},"nativeSrc":"4413:9:6","nodeType":"YulFunctionCall","src":"4413:9:6"}],"functionName":{"name":"and","nativeSrc":"4401:3:6","nodeType":"YulIdentifier","src":"4401:3:6"},"nativeSrc":"4401:22:6","nodeType":"YulFunctionCall","src":"4401:22:6"},"variables":[{"name":"loopEnd","nativeSrc":"4390:7:6","nodeType":"YulTypedName","src":"4390:7:6","type":""}]},{"nativeSrc":"4437:51:6","nodeType":"YulVariableDeclaration","src":"4437:51:6","value":{"arguments":[{"name":"slot","nativeSrc":"4483:4:6","nodeType":"YulIdentifier","src":"4483:4:6"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"4451:31:6","nodeType":"YulIdentifier","src":"4451:31:6"},"nativeSrc":"4451:37:6","nodeType":"YulFunctionCall","src":"4451:37:6"},"variables":[{"name":"dstPtr","nativeSrc":"4441:6:6","nodeType":"YulTypedName","src":"4441:6:6","type":""}]},{"nativeSrc":"4501:10:6","nodeType":"YulVariableDeclaration","src":"4501:10:6","value":{"kind":"number","nativeSrc":"4510:1:6","nodeType":"YulLiteral","src":"4510:1:6","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"4505:1:6","nodeType":"YulTypedName","src":"4505:1:6","type":""}]},{"body":{"nativeSrc":"4569:163:6","nodeType":"YulBlock","src":"4569:163:6","statements":[{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"4594:6:6","nodeType":"YulIdentifier","src":"4594:6:6"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"4612:3:6","nodeType":"YulIdentifier","src":"4612:3:6"},{"name":"srcOffset","nativeSrc":"4617:9:6","nodeType":"YulIdentifier","src":"4617:9:6"}],"functionName":{"name":"add","nativeSrc":"4608:3:6","nodeType":"YulIdentifier","src":"4608:3:6"},"nativeSrc":"4608:19:6","nodeType":"YulFunctionCall","src":"4608:19:6"}],"functionName":{"name":"mload","nativeSrc":"4602:5:6","nodeType":"YulIdentifier","src":"4602:5:6"},"nativeSrc":"4602:26:6","nodeType":"YulFunctionCall","src":"4602:26:6"}],"functionName":{"name":"sstore","nativeSrc":"4587:6:6","nodeType":"YulIdentifier","src":"4587:6:6"},"nativeSrc":"4587:42:6","nodeType":"YulFunctionCall","src":"4587:42:6"},"nativeSrc":"4587:42:6","nodeType":"YulExpressionStatement","src":"4587:42:6"},{"nativeSrc":"4646:24:6","nodeType":"YulAssignment","src":"4646:24:6","value":{"arguments":[{"name":"dstPtr","nativeSrc":"4660:6:6","nodeType":"YulIdentifier","src":"4660:6:6"},{"kind":"number","nativeSrc":"4668:1:6","nodeType":"YulLiteral","src":"4668:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"4656:3:6","nodeType":"YulIdentifier","src":"4656:3:6"},"nativeSrc":"4656:14:6","nodeType":"YulFunctionCall","src":"4656:14:6"},"variableNames":[{"name":"dstPtr","nativeSrc":"4646:6:6","nodeType":"YulIdentifier","src":"4646:6:6"}]},{"nativeSrc":"4687:31:6","nodeType":"YulAssignment","src":"4687:31:6","value":{"arguments":[{"name":"srcOffset","nativeSrc":"4704:9:6","nodeType":"YulIdentifier","src":"4704:9:6"},{"kind":"number","nativeSrc":"4715:2:6","nodeType":"YulLiteral","src":"4715:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4700:3:6","nodeType":"YulIdentifier","src":"4700:3:6"},"nativeSrc":"4700:18:6","nodeType":"YulFunctionCall","src":"4700:18:6"},"variableNames":[{"name":"srcOffset","nativeSrc":"4687:9:6","nodeType":"YulIdentifier","src":"4687:9:6"}]}]},"condition":{"arguments":[{"name":"i","nativeSrc":"4535:1:6","nodeType":"YulIdentifier","src":"4535:1:6"},{"name":"loopEnd","nativeSrc":"4538:7:6","nodeType":"YulIdentifier","src":"4538:7:6"}],"functionName":{"name":"lt","nativeSrc":"4532:2:6","nodeType":"YulIdentifier","src":"4532:2:6"},"nativeSrc":"4532:14:6","nodeType":"YulFunctionCall","src":"4532:14:6"},"nativeSrc":"4524:208:6","nodeType":"YulForLoop","post":{"nativeSrc":"4547:21:6","nodeType":"YulBlock","src":"4547:21:6","statements":[{"nativeSrc":"4549:17:6","nodeType":"YulAssignment","src":"4549:17:6","value":{"arguments":[{"name":"i","nativeSrc":"4558:1:6","nodeType":"YulIdentifier","src":"4558:1:6"},{"kind":"number","nativeSrc":"4561:4:6","nodeType":"YulLiteral","src":"4561:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4554:3:6","nodeType":"YulIdentifier","src":"4554:3:6"},"nativeSrc":"4554:12:6","nodeType":"YulFunctionCall","src":"4554:12:6"},"variableNames":[{"name":"i","nativeSrc":"4549:1:6","nodeType":"YulIdentifier","src":"4549:1:6"}]}]},"pre":{"nativeSrc":"4528:3:6","nodeType":"YulBlock","src":"4528:3:6","statements":[]},"src":"4524:208:6"},{"body":{"nativeSrc":"4768:156:6","nodeType":"YulBlock","src":"4768:156:6","statements":[{"nativeSrc":"4786:43:6","nodeType":"YulVariableDeclaration","src":"4786:43:6","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"4813:3:6","nodeType":"YulIdentifier","src":"4813:3:6"},{"name":"srcOffset","nativeSrc":"4818:9:6","nodeType":"YulIdentifier","src":"4818:9:6"}],"functionName":{"name":"add","nativeSrc":"4809:3:6","nodeType":"YulIdentifier","src":"4809:3:6"},"nativeSrc":"4809:19:6","nodeType":"YulFunctionCall","src":"4809:19:6"}],"functionName":{"name":"mload","nativeSrc":"4803:5:6","nodeType":"YulIdentifier","src":"4803:5:6"},"nativeSrc":"4803:26:6","nodeType":"YulFunctionCall","src":"4803:26:6"},"variables":[{"name":"lastValue","nativeSrc":"4790:9:6","nodeType":"YulTypedName","src":"4790:9:6","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"4853:6:6","nodeType":"YulIdentifier","src":"4853:6:6"},{"arguments":[{"name":"lastValue","nativeSrc":"4880:9:6","nodeType":"YulIdentifier","src":"4880:9:6"},{"arguments":[{"name":"newLen","nativeSrc":"4895:6:6","nodeType":"YulIdentifier","src":"4895:6:6"},{"kind":"number","nativeSrc":"4903:4:6","nodeType":"YulLiteral","src":"4903:4:6","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"4891:3:6","nodeType":"YulIdentifier","src":"4891:3:6"},"nativeSrc":"4891:17:6","nodeType":"YulFunctionCall","src":"4891:17:6"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"4861:18:6","nodeType":"YulIdentifier","src":"4861:18:6"},"nativeSrc":"4861:48:6","nodeType":"YulFunctionCall","src":"4861:48:6"}],"functionName":{"name":"sstore","nativeSrc":"4846:6:6","nodeType":"YulIdentifier","src":"4846:6:6"},"nativeSrc":"4846:64:6","nodeType":"YulFunctionCall","src":"4846:64:6"},"nativeSrc":"4846:64:6","nodeType":"YulExpressionStatement","src":"4846:64:6"}]},"condition":{"arguments":[{"name":"loopEnd","nativeSrc":"4751:7:6","nodeType":"YulIdentifier","src":"4751:7:6"},{"name":"newLen","nativeSrc":"4760:6:6","nodeType":"YulIdentifier","src":"4760:6:6"}],"functionName":{"name":"lt","nativeSrc":"4748:2:6","nodeType":"YulIdentifier","src":"4748:2:6"},"nativeSrc":"4748:19:6","nodeType":"YulFunctionCall","src":"4748:19:6"},"nativeSrc":"4745:179:6","nodeType":"YulIf","src":"4745:179:6"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"4944:4:6","nodeType":"YulIdentifier","src":"4944:4:6"},{"arguments":[{"arguments":[{"name":"newLen","nativeSrc":"4958:6:6","nodeType":"YulIdentifier","src":"4958:6:6"},{"kind":"number","nativeSrc":"4966:1:6","nodeType":"YulLiteral","src":"4966:1:6","type":"","value":"2"}],"functionName":{"name":"mul","nativeSrc":"4954:3:6","nodeType":"YulIdentifier","src":"4954:3:6"},"nativeSrc":"4954:14:6","nodeType":"YulFunctionCall","src":"4954:14:6"},{"kind":"number","nativeSrc":"4970:1:6","nodeType":"YulLiteral","src":"4970:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"4950:3:6","nodeType":"YulIdentifier","src":"4950:3:6"},"nativeSrc":"4950:22:6","nodeType":"YulFunctionCall","src":"4950:22:6"}],"functionName":{"name":"sstore","nativeSrc":"4937:6:6","nodeType":"YulIdentifier","src":"4937:6:6"},"nativeSrc":"4937:36:6","nodeType":"YulFunctionCall","src":"4937:36:6"},"nativeSrc":"4937:36:6","nodeType":"YulExpressionStatement","src":"4937:36:6"}]},"nativeSrc":"4365:618:6","nodeType":"YulCase","src":"4365:618:6","value":{"kind":"number","nativeSrc":"4370:1:6","nodeType":"YulLiteral","src":"4370:1:6","type":"","value":"1"}},{"body":{"nativeSrc":"5000:222:6","nodeType":"YulBlock","src":"5000:222:6","statements":[{"nativeSrc":"5014:14:6","nodeType":"YulVariableDeclaration","src":"5014:14:6","value":{"kind":"number","nativeSrc":"5027:1:6","nodeType":"YulLiteral","src":"5027:1:6","type":"","value":"0"},"variables":[{"name":"value","nativeSrc":"5018:5:6","nodeType":"YulTypedName","src":"5018:5:6","type":""}]},{"body":{"nativeSrc":"5051:67:6","nodeType":"YulBlock","src":"5051:67:6","statements":[{"nativeSrc":"5069:35:6","nodeType":"YulAssignment","src":"5069:35:6","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"5088:3:6","nodeType":"YulIdentifier","src":"5088:3:6"},{"name":"srcOffset","nativeSrc":"5093:9:6","nodeType":"YulIdentifier","src":"5093:9:6"}],"functionName":{"name":"add","nativeSrc":"5084:3:6","nodeType":"YulIdentifier","src":"5084:3:6"},"nativeSrc":"5084:19:6","nodeType":"YulFunctionCall","src":"5084:19:6"}],"functionName":{"name":"mload","nativeSrc":"5078:5:6","nodeType":"YulIdentifier","src":"5078:5:6"},"nativeSrc":"5078:26:6","nodeType":"YulFunctionCall","src":"5078:26:6"},"variableNames":[{"name":"value","nativeSrc":"5069:5:6","nodeType":"YulIdentifier","src":"5069:5:6"}]}]},"condition":{"name":"newLen","nativeSrc":"5044:6:6","nodeType":"YulIdentifier","src":"5044:6:6"},"nativeSrc":"5041:77:6","nodeType":"YulIf","src":"5041:77:6"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"5138:4:6","nodeType":"YulIdentifier","src":"5138:4:6"},{"arguments":[{"name":"value","nativeSrc":"5197:5:6","nodeType":"YulIdentifier","src":"5197:5:6"},{"name":"newLen","nativeSrc":"5204:6:6","nodeType":"YulIdentifier","src":"5204:6:6"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"5144:52:6","nodeType":"YulIdentifier","src":"5144:52:6"},"nativeSrc":"5144:67:6","nodeType":"YulFunctionCall","src":"5144:67:6"}],"functionName":{"name":"sstore","nativeSrc":"5131:6:6","nodeType":"YulIdentifier","src":"5131:6:6"},"nativeSrc":"5131:81:6","nodeType":"YulFunctionCall","src":"5131:81:6"},"nativeSrc":"5131:81:6","nodeType":"YulExpressionStatement","src":"5131:81:6"}]},"nativeSrc":"4992:230:6","nodeType":"YulCase","src":"4992:230:6","value":"default"}],"expression":{"arguments":[{"name":"newLen","nativeSrc":"4345:6:6","nodeType":"YulIdentifier","src":"4345:6:6"},{"kind":"number","nativeSrc":"4353:2:6","nodeType":"YulLiteral","src":"4353:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"4342:2:6","nodeType":"YulIdentifier","src":"4342:2:6"},"nativeSrc":"4342:14:6","nodeType":"YulFunctionCall","src":"4342:14:6"},"nativeSrc":"4335:887:6","nodeType":"YulSwitch","src":"4335:887:6"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nativeSrc":"3833:1395:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"3914:4:6","nodeType":"YulTypedName","src":"3914:4:6","type":""},{"name":"src","nativeSrc":"3920:3:6","nodeType":"YulTypedName","src":"3920:3:6","type":""}],"src":"3833:1395:6"}]},"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}\n","id":6,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b506040518060400160405280600b81526020017f537761726d20546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600381526020017f53574d000000000000000000000000000000000000000000000000000000000081525081600390816200008f919062000365565b508060049081620000a1919062000365565b50505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200044c565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200016d57607f821691505b60208210810362000183576200018262000125565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001ed7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001ae565b620001f98683620001ae565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000246620002406200023a8462000211565b6200021b565b62000211565b9050919050565b6000819050919050565b620002628362000225565b6200027a62000271826200024d565b848454620001bb565b825550505050565b600090565b6200029162000282565b6200029e81848462000257565b505050565b5b81811015620002c657620002ba60008262000287565b600181019050620002a4565b5050565b601f8211156200031557620002df8162000189565b620002ea846200019e565b81016020851015620002fa578190505b6200031262000309856200019e565b830182620002a3565b50505b505050565b600082821c905092915050565b60006200033a600019846008026200031a565b1980831691505092915050565b600062000355838362000327565b9150826002028217905092915050565b6200037082620000eb565b67ffffffffffffffff8111156200038c576200038b620000f6565b5b62000398825462000154565b620003a5828285620002ca565b600060209050601f831160018114620003dd5760008415620003c8578287015190505b620003d4858262000347565b86555062000444565b601f198416620003ed8662000189565b60005b828110156200041757848901518255600182019150602085019450602081019050620003f0565b8683101562000437578489015162000433601f89168262000327565b8355505b6001600288020188555050505b505050505050565b6118a7806200045c6000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c8063313ce5671161008c57806395d89b411161006657806395d89b411461022b578063a9059cbb14610249578063bd4bbeb914610279578063dd62ed3e146102a9576100ce565b8063313ce567146101bf57806370a08231146101dd5780638da5cb5b1461020d576100ce565b8062a82c76146100d357806306fdde03146100ef578063095ea7b31461010d57806310a7fd7b1461013d57806318160ddd1461017157806323b872dd1461018f575b600080fd5b6100ed60048036038101906100e8919061108a565b6102d9565b005b6100f761050c565b6040516101049190611178565b60405180910390f35b610127600480360381019061012291906111f8565b61059e565b6040516101349190611253565b60405180910390f35b6101576004803603810190610152919061126e565b6105c1565b6040516101689594939291906112c8565b60405180910390f35b61017961069f565b6040516101869190611322565b60405180910390f35b6101a960048036038101906101a4919061133d565b6106a9565b6040516101b69190611253565b60405180910390f35b6101c76106d8565b6040516101d491906113ac565b60405180910390f35b6101f760048036038101906101f291906113c7565b6106e1565b6040516102049190611322565b60405180910390f35b610215610729565b60405161022291906113f4565b60405180910390f35b61023361074f565b6040516102409190611178565b60405180910390f35b610263600480360381019061025e91906111f8565b6107e1565b6040516102709190611253565b60405180910390f35b610293600480360381019061028e91906113c7565b610804565b6040516102a09190611322565b60405180910390f35b6102c360048036038101906102be919061140f565b61081c565b6040516102d09190611322565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff166007600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461037e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103759061149b565b60405180910390fd5b6040518060a001604052808481526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018281525060076000858152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030155608082015181600401908161044891906116c7565b509050506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461049c91906117c8565b925050819055506104b533670de0b6b3a76400006108a3565b3373ffffffffffffffffffffffffffffffffffffffff167f0fa6157f4e9e99fb9310ffbda586ef6dacedf5e0d84f679f44e65ee1eb61687c8484846040516104ff939291906117fc565b60405180910390a2505050565b60606003805461051b906114ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610547906114ea565b80156105945780601f1061056957610100808354040283529160200191610594565b820191906000526020600020905b81548152906001019060200180831161057757829003601f168201915b5050505050905090565b6000806105a9610925565b90506105b681858561092d565b600191505092915050565b60076020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600301549080600401805461061c906114ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610648906114ea565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905085565b6000600254905090565b6000806106b4610925565b90506106c185828561093f565b6106cc8585856109d4565b60019150509392505050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461075e906114ea565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906114ea565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b5050505050905090565b6000806107ec610925565b90506107f98185856109d4565b600191505092915050565b60066020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109155760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161090c91906113f4565b60405180910390fd5b61092160008383610ac8565b5050565b600033905090565b61093a8383836001610ced565b505050565b600061094b848461081c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156109ce57818110156109be578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016109b59392919061183a565b60405180910390fd5b6109cd84848484036000610ced565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a465760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a3d91906113f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab85760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610aaf91906113f4565b60405180910390fd5b610ac3838383610ac8565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b1a578060026000828254610b0e91906117c8565b92505081905550610bed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ba6578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610b9d9392919061183a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c365780600260008282540392505081905550610c83565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ce09190611322565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d5f5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610d5691906113f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dd15760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610dc891906113f4565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610ebe578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610eb59190611322565b60405180910390a35b50505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610eeb81610ed8565b8114610ef657600080fd5b50565b600081359050610f0881610ee2565b92915050565b6000819050919050565b610f2181610f0e565b8114610f2c57600080fd5b50565b600081359050610f3e81610f18565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f9782610f4e565b810181811067ffffffffffffffff82111715610fb657610fb5610f5f565b5b80604052505050565b6000610fc9610ec4565b9050610fd58282610f8e565b919050565b600067ffffffffffffffff821115610ff557610ff4610f5f565b5b610ffe82610f4e565b9050602081019050919050565b82818337600083830152505050565b600061102d61102884610fda565b610fbf565b90508281526020810184848401111561104957611048610f49565b5b61105484828561100b565b509392505050565b600082601f83011261107157611070610f44565b5b813561108184826020860161101a565b91505092915050565b6000806000606084860312156110a3576110a2610ece565b5b60006110b186828701610ef9565b93505060206110c286828701610f2f565b925050604084013567ffffffffffffffff8111156110e3576110e2610ed3565b5b6110ef8682870161105c565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015611133578082015181840152602081019050611118565b60008484015250505050565b600061114a826110f9565b6111548185611104565b9350611164818560208601611115565b61116d81610f4e565b840191505092915050565b60006020820190508181036000830152611192818461113f565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111c58261119a565b9050919050565b6111d5816111ba565b81146111e057600080fd5b50565b6000813590506111f2816111cc565b92915050565b6000806040838503121561120f5761120e610ece565b5b600061121d858286016111e3565b925050602061122e85828601610ef9565b9150509250929050565b60008115159050919050565b61124d81611238565b82525050565b60006020820190506112686000830184611244565b92915050565b60006020828403121561128457611283610ece565b5b600061129284828501610ef9565b91505092915050565b6112a481610ed8565b82525050565b6112b381610f0e565b82525050565b6112c2816111ba565b82525050565b600060a0820190506112dd600083018861129b565b6112ea60208301876112aa565b6112f760408301866112b9565b611304606083018561129b565b8181036080830152611316818461113f565b90509695505050505050565b6000602082019050611337600083018461129b565b92915050565b60008060006060848603121561135657611355610ece565b5b6000611364868287016111e3565b9350506020611375868287016111e3565b925050604061138686828701610ef9565b9150509250925092565b600060ff82169050919050565b6113a681611390565b82525050565b60006020820190506113c1600083018461139d565b92915050565b6000602082840312156113dd576113dc610ece565b5b60006113eb848285016111e3565b91505092915050565b600060208201905061140960008301846112b9565b92915050565b6000806040838503121561142657611425610ece565b5b6000611434858286016111e3565b9250506020611445858286016111e3565b9150509250929050565b7f5461736b20616c726561647920636f6d706c6574656400000000000000000000600082015250565b6000611485601683611104565b91506114908261144f565b602082019050919050565b600060208201905081810360008301526114b481611478565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061150257607f821691505b602082108103611515576115146114bb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261157d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611540565b6115878683611540565b95508019841693508086168417925050509392505050565b6000819050919050565b60006115c46115bf6115ba84610ed8565b61159f565b610ed8565b9050919050565b6000819050919050565b6115de836115a9565b6115f26115ea826115cb565b84845461154d565b825550505050565b600090565b6116076115fa565b6116128184846115d5565b505050565b5b818110156116365761162b6000826115ff565b600181019050611618565b5050565b601f82111561167b5761164c8161151b565b61165584611530565b81016020851015611664578190505b61167861167085611530565b830182611617565b50505b505050565b600082821c905092915050565b600061169e60001984600802611680565b1980831691505092915050565b60006116b7838361168d565b9150826002028217905092915050565b6116d0826110f9565b67ffffffffffffffff8111156116e9576116e8610f5f565b5b6116f382546114ea565b6116fe82828561163a565b600060209050601f831160018114611731576000841561171f578287015190505b61172985826116ab565b865550611791565b601f19841661173f8661151b565b60005b8281101561176757848901518255600182019150602085019450602081019050611742565b868310156117845784890151611780601f89168261168d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117d382610ed8565b91506117de83610ed8565b92508282019050808211156117f6576117f5611799565b5b92915050565b6000606082019050611811600083018661129b565b61181e60208301856112aa565b8181036040830152611830818461113f565b9050949350505050565b600060608201905061184f60008301866112b9565b61185c602083018561129b565b611869604083018461129b565b94935050505056fea26469706673582212209984be054be556691949571d1c28c454bc3d2234f390749a56c14a878bfc8da664736f6c63430008180033","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 0xB DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x537761726D20546F6B656E000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x53574D0000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 PUSH1 0x3 SWAP1 DUP2 PUSH3 0x8F SWAP2 SWAP1 PUSH3 0x365 JUMP JUMPDEST POP DUP1 PUSH1 0x4 SWAP1 DUP2 PUSH3 0xA1 SWAP2 SWAP1 PUSH3 0x365 JUMP JUMPDEST POP POP POP CALLER PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x44C JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x16D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x183 JUMPI PUSH3 0x182 PUSH3 0x125 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH3 0x1ED PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x1AE JUMP JUMPDEST PUSH3 0x1F9 DUP7 DUP4 PUSH3 0x1AE JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x246 PUSH3 0x240 PUSH3 0x23A DUP5 PUSH3 0x211 JUMP JUMPDEST PUSH3 0x21B JUMP JUMPDEST PUSH3 0x211 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x262 DUP4 PUSH3 0x225 JUMP JUMPDEST PUSH3 0x27A PUSH3 0x271 DUP3 PUSH3 0x24D JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x1BB JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH3 0x291 PUSH3 0x282 JUMP JUMPDEST PUSH3 0x29E DUP2 DUP5 DUP5 PUSH3 0x257 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x2C6 JUMPI PUSH3 0x2BA PUSH1 0x0 DUP3 PUSH3 0x287 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x2A4 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x315 JUMPI PUSH3 0x2DF DUP2 PUSH3 0x189 JUMP JUMPDEST PUSH3 0x2EA DUP5 PUSH3 0x19E JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x2FA JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x312 PUSH3 0x309 DUP6 PUSH3 0x19E JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x2A3 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x33A PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x31A JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x355 DUP4 DUP4 PUSH3 0x327 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x370 DUP3 PUSH3 0xEB JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x38C JUMPI PUSH3 0x38B PUSH3 0xF6 JUMP JUMPDEST JUMPDEST PUSH3 0x398 DUP3 SLOAD PUSH3 0x154 JUMP JUMPDEST PUSH3 0x3A5 DUP3 DUP3 DUP6 PUSH3 0x2CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x3DD JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x3C8 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x3D4 DUP6 DUP3 PUSH3 0x347 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x444 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x3ED DUP7 PUSH3 0x189 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x417 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x3F0 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x437 JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x433 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x327 JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18A7 DUP1 PUSH3 0x45C 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 0xCE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0xBD4BBEB9 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2A9 JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x20D JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH3 0xA82C76 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x10A7FD7B EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x18F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xED PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x108A JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF7 PUSH2 0x50C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x134 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x157 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x152 SWAP2 SWAP1 PUSH2 0x126E JUMP JUMPDEST PUSH2 0x5C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x168 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x12C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x179 PUSH2 0x69F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x186 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A4 SWAP2 SWAP1 PUSH2 0x133D JUMP JUMPDEST PUSH2 0x6A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C7 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x13AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH2 0x6E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x215 PUSH2 0x729 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x222 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH2 0x74F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x7E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH2 0x804 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x81C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x7 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x37E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x375 SWAP1 PUSH2 0x149B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x448 SWAP2 SWAP1 PUSH2 0x16C7 JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x17C8 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x4B5 CALLER PUSH8 0xDE0B6B3A7640000 PUSH2 0x8A3 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFA6157F4E9E99FB9310FFBDA586EF6DACEDF5E0D84F679F44E65EE1EB61687C DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4FF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x17FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x51B SWAP1 PUSH2 0x14EA 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 0x547 SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x594 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x569 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x594 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 0x577 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5A9 PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x5B6 DUP2 DUP6 DUP6 PUSH2 0x92D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x61C SWAP1 PUSH2 0x14EA 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 0x648 SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x695 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x66A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x695 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 0x678 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B4 PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x6C1 DUP6 DUP3 DUP6 PUSH2 0x93F JUMP JUMPDEST PUSH2 0x6CC DUP6 DUP6 DUP6 PUSH2 0x9D4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x75E SWAP1 PUSH2 0x14EA 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 0x78A SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7D7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7AC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7D7 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 0x7BA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7EC PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x7F9 DUP2 DUP6 DUP6 PUSH2 0x9D4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x915 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x90C SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x921 PUSH1 0x0 DUP4 DUP4 PUSH2 0xAC8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x93A DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xCED JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94B DUP5 DUP5 PUSH2 0x81C JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x9CE JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x9BE JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x183A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9CD DUP5 DUP5 DUP5 DUP5 SUB PUSH1 0x0 PUSH2 0xCED JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA46 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA3D SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAB8 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAAF SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAC3 DUP4 DUP4 DUP4 PUSH2 0xAC8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB1A JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB0E SWAP2 SWAP1 PUSH2 0x17C8 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xBED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xBA6 JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB9D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x183A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC36 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xC83 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xCE0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD5F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD56 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDD1 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC8 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0xEBE JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEB5 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xEEB DUP2 PUSH2 0xED8 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF08 DUP2 PUSH2 0xEE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF21 DUP2 PUSH2 0xF0E JUMP JUMPDEST DUP2 EQ PUSH2 0xF2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF3E DUP2 PUSH2 0xF18 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xF97 DUP3 PUSH2 0xF4E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xFB6 JUMPI PUSH2 0xFB5 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFC9 PUSH2 0xEC4 JUMP JUMPDEST SWAP1 POP PUSH2 0xFD5 DUP3 DUP3 PUSH2 0xF8E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xFF5 JUMPI PUSH2 0xFF4 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST PUSH2 0xFFE DUP3 PUSH2 0xF4E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x102D PUSH2 0x1028 DUP5 PUSH2 0xFDA JUMP JUMPDEST PUSH2 0xFBF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1049 JUMPI PUSH2 0x1048 PUSH2 0xF49 JUMP JUMPDEST JUMPDEST PUSH2 0x1054 DUP5 DUP3 DUP6 PUSH2 0x100B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1071 JUMPI PUSH2 0x1070 PUSH2 0xF44 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1081 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x101A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A2 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10B1 DUP7 DUP3 DUP8 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x10C2 DUP7 DUP3 DUP8 ADD PUSH2 0xF2F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10E3 JUMPI PUSH2 0x10E2 PUSH2 0xED3 JUMP JUMPDEST JUMPDEST PUSH2 0x10EF DUP7 DUP3 DUP8 ADD PUSH2 0x105C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1133 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x114A DUP3 PUSH2 0x10F9 JUMP JUMPDEST PUSH2 0x1154 DUP2 DUP6 PUSH2 0x1104 JUMP JUMPDEST SWAP4 POP PUSH2 0x1164 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1115 JUMP JUMPDEST PUSH2 0x116D DUP2 PUSH2 0xF4E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1192 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11C5 DUP3 PUSH2 0x119A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D5 DUP2 PUSH2 0x11BA JUMP JUMPDEST DUP2 EQ PUSH2 0x11E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11F2 DUP2 PUSH2 0x11CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x120F JUMPI PUSH2 0x120E PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x121D DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x122E DUP6 DUP3 DUP7 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x124D DUP2 PUSH2 0x1238 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1268 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1244 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1284 JUMPI PUSH2 0x1283 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1292 DUP5 DUP3 DUP6 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x12A4 DUP2 PUSH2 0xED8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12B3 DUP2 PUSH2 0xF0E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12C2 DUP2 PUSH2 0x11BA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x12DD PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x12EA PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x12AA JUMP JUMPDEST PUSH2 0x12F7 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x12B9 JUMP JUMPDEST PUSH2 0x1304 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x129B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1316 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1337 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x129B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1356 JUMPI PUSH2 0x1355 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1364 DUP7 DUP3 DUP8 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1375 DUP7 DUP3 DUP8 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1386 DUP7 DUP3 DUP8 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13A6 DUP2 PUSH2 0x1390 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13C1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x139D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13DD JUMPI PUSH2 0x13DC PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13EB DUP5 DUP3 DUP6 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1426 JUMPI PUSH2 0x1425 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1445 DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x5461736B20616C726561647920636F6D706C6574656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1485 PUSH1 0x16 DUP4 PUSH2 0x1104 JUMP JUMPDEST SWAP2 POP PUSH2 0x1490 DUP3 PUSH2 0x144F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14B4 DUP2 PUSH2 0x1478 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1502 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1515 JUMPI PUSH2 0x1514 PUSH2 0x14BB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x157D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1540 JUMP JUMPDEST PUSH2 0x1587 DUP7 DUP4 PUSH2 0x1540 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15C4 PUSH2 0x15BF PUSH2 0x15BA DUP5 PUSH2 0xED8 JUMP JUMPDEST PUSH2 0x159F JUMP JUMPDEST PUSH2 0xED8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15DE DUP4 PUSH2 0x15A9 JUMP JUMPDEST PUSH2 0x15F2 PUSH2 0x15EA DUP3 PUSH2 0x15CB JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x154D JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1607 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0x1612 DUP2 DUP5 DUP5 PUSH2 0x15D5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x162B PUSH1 0x0 DUP3 PUSH2 0x15FF JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1618 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x167B JUMPI PUSH2 0x164C DUP2 PUSH2 0x151B JUMP JUMPDEST PUSH2 0x1655 DUP5 PUSH2 0x1530 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1664 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x1678 PUSH2 0x1670 DUP6 PUSH2 0x1530 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1617 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1680 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B7 DUP4 DUP4 PUSH2 0x168D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16D0 DUP3 PUSH2 0x10F9 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x16E9 JUMPI PUSH2 0x16E8 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST PUSH2 0x16F3 DUP3 SLOAD PUSH2 0x14EA JUMP JUMPDEST PUSH2 0x16FE DUP3 DUP3 DUP6 PUSH2 0x163A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1731 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x171F JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1729 DUP6 DUP3 PUSH2 0x16AB JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1791 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x173F DUP7 PUSH2 0x151B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1767 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1742 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1784 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1780 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x168D JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x17D3 DUP3 PUSH2 0xED8 JUMP JUMPDEST SWAP2 POP PUSH2 0x17DE DUP4 PUSH2 0xED8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x17F6 JUMPI PUSH2 0x17F5 PUSH2 0x1799 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1811 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x181E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12AA JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1830 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x184F PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B9 JUMP JUMPDEST PUSH2 0x185C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x1869 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x129B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP10 DUP5 0xBE SDIV 0x4B 0xE5 JUMP PUSH10 0x1949571D1C28C454BC3D 0x22 CALLVALUE RETURN SWAP1 PUSH21 0x9A56C14A878BFC8DA664736F6C6343000818003300 ","sourceMap":"115:1845:5:-:0;;;895:77;;;;;;;;;;1582:113:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1656:5;1648;:13;;;;;;:::i;:::-;;1681:7;1671;:17;;;;;;:::i;:::-;;1582:113;;955:10:5::1;947:5;;:18;;;;;;;;;;;;;;;;;;115:1845:::0;;7:99:6;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;115:1845:5:-;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_approve_542":{"entryPoint":2349,"id":542,"parameterSlots":3,"returnSlots":0},"@_approve_602":{"entryPoint":3309,"id":602,"parameterSlots":4,"returnSlots":0},"@_mint_491":{"entryPoint":2211,"id":491,"parameterSlots":2,"returnSlots":0},"@_msgSender_767":{"entryPoint":2341,"id":767,"parameterSlots":0,"returnSlots":1},"@_spendAllowance_650":{"entryPoint":2367,"id":650,"parameterSlots":3,"returnSlots":0},"@_transfer_381":{"entryPoint":2516,"id":381,"parameterSlots":3,"returnSlots":0},"@_update_458":{"entryPoint":2760,"id":458,"parameterSlots":3,"returnSlots":0},"@allowance_278":{"entryPoint":2076,"id":278,"parameterSlots":2,"returnSlots":1},"@approve_302":{"entryPoint":1438,"id":302,"parameterSlots":2,"returnSlots":1},"@balanceOf_237":{"entryPoint":1761,"id":237,"parameterSlots":1,"returnSlots":1},"@decimals_215":{"entryPoint":1752,"id":215,"parameterSlots":0,"returnSlots":1},"@ledger_812":{"entryPoint":1473,"id":812,"parameterSlots":0,"returnSlots":0},"@name_197":{"entryPoint":1292,"id":197,"parameterSlots":0,"returnSlots":1},"@owner_792":{"entryPoint":1833,"id":792,"parameterSlots":0,"returnSlots":0},"@submitWork_898":{"entryPoint":729,"id":898,"parameterSlots":3,"returnSlots":0},"@symbol_206":{"entryPoint":1871,"id":206,"parameterSlots":0,"returnSlots":1},"@totalSupply_224":{"entryPoint":1695,"id":224,"parameterSlots":0,"returnSlots":1},"@transferFrom_334":{"entryPoint":1705,"id":334,"parameterSlots":3,"returnSlots":1},"@transfer_261":{"entryPoint":2017,"id":261,"parameterSlots":2,"returnSlots":1},"@ubiEarned_796":{"entryPoint":2052,"id":796,"parameterSlots":0,"returnSlots":0},"abi_decode_available_length_t_string_memory_ptr":{"entryPoint":4122,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":4579,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int256":{"entryPoint":3887,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_memory_ptr":{"entryPoint":4188,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":3833,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_address":{"entryPoint":5063,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_address":{"entryPoint":5135,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_addresst_uint256":{"entryPoint":4925,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_uint256":{"entryPoint":4600,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_uint256":{"entryPoint":4718,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_uint256t_int256t_string_memory_ptr":{"entryPoint":4234,"id":null,"parameterSlots":2,"returnSlots":3},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":4793,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":4676,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":4778,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack":{"entryPoint":4415,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3_to_t_string_memory_ptr_fromStack":{"entryPoint":5240,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":4763,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint8_to_t_uint8_fromStack":{"entryPoint":5021,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":5108,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":6202,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":4691,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4472,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":5275,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":4898,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__to_t_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":4808,"id":null,"parameterSlots":6,"returnSlots":1},"abi_encode_tuple_t_uint256_t_int256_t_string_memory_ptr__to_t_uint256_t_int256_t_string_memory_ptr__fromStack_reversed":{"entryPoint":6140,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed":{"entryPoint":5036,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":4031,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":3780,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":4058,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_string_storage":{"entryPoint":5403,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":4345,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":4356,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":6088,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_t_string_storage":{"entryPoint":5690,"id":null,"parameterSlots":3,"returnSlots":0},"cleanup_t_address":{"entryPoint":4538,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":4664,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":3854,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":4506,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":3800,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint8":{"entryPoint":5008,"id":null,"parameterSlots":1,"returnSlots":1},"clear_storage_range_t_bytes1":{"entryPoint":5655,"id":null,"parameterSlots":2,"returnSlots":0},"convert_t_uint256_to_t_uint256":{"entryPoint":5545,"id":null,"parameterSlots":1,"returnSlots":1},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":5831,"id":null,"parameterSlots":2,"returnSlots":0},"copy_calldata_to_memory_with_cleanup":{"entryPoint":4107,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":4373,"id":null,"parameterSlots":3,"returnSlots":0},"divide_by_32_ceil":{"entryPoint":5424,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":5354,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":5803,"id":null,"parameterSlots":2,"returnSlots":1},"finalize_allocation":{"entryPoint":3982,"id":null,"parameterSlots":2,"returnSlots":0},"identity":{"entryPoint":5535,"id":null,"parameterSlots":1,"returnSlots":1},"mask_bytes_dynamic":{"entryPoint":5773,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":6041,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x22":{"entryPoint":5307,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":3935,"id":null,"parameterSlots":0,"returnSlots":0},"prepare_store_t_uint256":{"entryPoint":5579,"id":null,"parameterSlots":1,"returnSlots":1},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":3908,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":3913,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":3795,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":3790,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":3918,"id":null,"parameterSlots":1,"returnSlots":1},"shift_left_dynamic":{"entryPoint":5440,"id":null,"parameterSlots":2,"returnSlots":1},"shift_right_unsigned_dynamic":{"entryPoint":5760,"id":null,"parameterSlots":2,"returnSlots":1},"storage_set_to_zero_t_uint256":{"entryPoint":5631,"id":null,"parameterSlots":2,"returnSlots":0},"store_literal_in_memory_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3":{"entryPoint":5199,"id":null,"parameterSlots":1,"returnSlots":0},"update_byte_slice_dynamic32":{"entryPoint":5453,"id":null,"parameterSlots":3,"returnSlots":1},"update_storage_value_t_uint256_to_t_uint256":{"entryPoint":5589,"id":null,"parameterSlots":3,"returnSlots":0},"validator_revert_t_address":{"entryPoint":4556,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int256":{"entryPoint":3864,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":3810,"id":null,"parameterSlots":1,"returnSlots":0},"zero_value_for_split_t_uint256":{"entryPoint":5626,"id":null,"parameterSlots":0,"returnSlots":1}},"generatedSources":[{"ast":{"nativeSrc":"0:17689:6","nodeType":"YulBlock","src":"0:17689:6","statements":[{"body":{"nativeSrc":"47:35:6","nodeType":"YulBlock","src":"47:35:6","statements":[{"nativeSrc":"57:19:6","nodeType":"YulAssignment","src":"57:19:6","value":{"arguments":[{"kind":"number","nativeSrc":"73:2:6","nodeType":"YulLiteral","src":"73:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nativeSrc":"67:5:6","nodeType":"YulIdentifier","src":"67:5:6"},"nativeSrc":"67:9:6","nodeType":"YulFunctionCall","src":"67:9:6"},"variableNames":[{"name":"memPtr","nativeSrc":"57:6:6","nodeType":"YulIdentifier","src":"57:6:6"}]}]},"name":"allocate_unbounded","nativeSrc":"7:75:6","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nativeSrc":"40:6:6","nodeType":"YulTypedName","src":"40:6:6","type":""}],"src":"7:75:6"},{"body":{"nativeSrc":"177:28:6","nodeType":"YulBlock","src":"177:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"194:1:6","nodeType":"YulLiteral","src":"194:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"197:1:6","nodeType":"YulLiteral","src":"197:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"187:6:6","nodeType":"YulIdentifier","src":"187:6:6"},"nativeSrc":"187:12:6","nodeType":"YulFunctionCall","src":"187:12:6"},"nativeSrc":"187:12:6","nodeType":"YulExpressionStatement","src":"187:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"88:117:6","nodeType":"YulFunctionDefinition","src":"88:117:6"},{"body":{"nativeSrc":"300:28:6","nodeType":"YulBlock","src":"300:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"317:1:6","nodeType":"YulLiteral","src":"317:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"320:1:6","nodeType":"YulLiteral","src":"320:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"310:6:6","nodeType":"YulIdentifier","src":"310:6:6"},"nativeSrc":"310:12:6","nodeType":"YulFunctionCall","src":"310:12:6"},"nativeSrc":"310:12:6","nodeType":"YulExpressionStatement","src":"310:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"211:117:6","nodeType":"YulFunctionDefinition","src":"211:117:6"},{"body":{"nativeSrc":"379:32:6","nodeType":"YulBlock","src":"379:32:6","statements":[{"nativeSrc":"389:16:6","nodeType":"YulAssignment","src":"389:16:6","value":{"name":"value","nativeSrc":"400:5:6","nodeType":"YulIdentifier","src":"400:5:6"},"variableNames":[{"name":"cleaned","nativeSrc":"389:7:6","nodeType":"YulIdentifier","src":"389:7:6"}]}]},"name":"cleanup_t_uint256","nativeSrc":"334:77:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"361:5:6","nodeType":"YulTypedName","src":"361:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"371:7:6","nodeType":"YulTypedName","src":"371:7:6","type":""}],"src":"334:77:6"},{"body":{"nativeSrc":"460:79:6","nodeType":"YulBlock","src":"460:79:6","statements":[{"body":{"nativeSrc":"517:16:6","nodeType":"YulBlock","src":"517:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"526:1:6","nodeType":"YulLiteral","src":"526:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"529:1:6","nodeType":"YulLiteral","src":"529:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"519:6:6","nodeType":"YulIdentifier","src":"519:6:6"},"nativeSrc":"519:12:6","nodeType":"YulFunctionCall","src":"519:12:6"},"nativeSrc":"519:12:6","nodeType":"YulExpressionStatement","src":"519:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"483:5:6","nodeType":"YulIdentifier","src":"483:5:6"},{"arguments":[{"name":"value","nativeSrc":"508:5:6","nodeType":"YulIdentifier","src":"508:5:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"490:17:6","nodeType":"YulIdentifier","src":"490:17:6"},"nativeSrc":"490:24:6","nodeType":"YulFunctionCall","src":"490:24:6"}],"functionName":{"name":"eq","nativeSrc":"480:2:6","nodeType":"YulIdentifier","src":"480:2:6"},"nativeSrc":"480:35:6","nodeType":"YulFunctionCall","src":"480:35:6"}],"functionName":{"name":"iszero","nativeSrc":"473:6:6","nodeType":"YulIdentifier","src":"473:6:6"},"nativeSrc":"473:43:6","nodeType":"YulFunctionCall","src":"473:43:6"},"nativeSrc":"470:63:6","nodeType":"YulIf","src":"470:63:6"}]},"name":"validator_revert_t_uint256","nativeSrc":"417:122:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"453:5:6","nodeType":"YulTypedName","src":"453:5:6","type":""}],"src":"417:122:6"},{"body":{"nativeSrc":"597:87:6","nodeType":"YulBlock","src":"597:87:6","statements":[{"nativeSrc":"607:29:6","nodeType":"YulAssignment","src":"607:29:6","value":{"arguments":[{"name":"offset","nativeSrc":"629:6:6","nodeType":"YulIdentifier","src":"629:6:6"}],"functionName":{"name":"calldataload","nativeSrc":"616:12:6","nodeType":"YulIdentifier","src":"616:12:6"},"nativeSrc":"616:20:6","nodeType":"YulFunctionCall","src":"616:20:6"},"variableNames":[{"name":"value","nativeSrc":"607:5:6","nodeType":"YulIdentifier","src":"607:5:6"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"672:5:6","nodeType":"YulIdentifier","src":"672:5:6"}],"functionName":{"name":"validator_revert_t_uint256","nativeSrc":"645:26:6","nodeType":"YulIdentifier","src":"645:26:6"},"nativeSrc":"645:33:6","nodeType":"YulFunctionCall","src":"645:33:6"},"nativeSrc":"645:33:6","nodeType":"YulExpressionStatement","src":"645:33:6"}]},"name":"abi_decode_t_uint256","nativeSrc":"545:139:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"575:6:6","nodeType":"YulTypedName","src":"575:6:6","type":""},{"name":"end","nativeSrc":"583:3:6","nodeType":"YulTypedName","src":"583:3:6","type":""}],"returnVariables":[{"name":"value","nativeSrc":"591:5:6","nodeType":"YulTypedName","src":"591:5:6","type":""}],"src":"545:139:6"},{"body":{"nativeSrc":"734:32:6","nodeType":"YulBlock","src":"734:32:6","statements":[{"nativeSrc":"744:16:6","nodeType":"YulAssignment","src":"744:16:6","value":{"name":"value","nativeSrc":"755:5:6","nodeType":"YulIdentifier","src":"755:5:6"},"variableNames":[{"name":"cleaned","nativeSrc":"744:7:6","nodeType":"YulIdentifier","src":"744:7:6"}]}]},"name":"cleanup_t_int256","nativeSrc":"690:76:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"716:5:6","nodeType":"YulTypedName","src":"716:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"726:7:6","nodeType":"YulTypedName","src":"726:7:6","type":""}],"src":"690:76:6"},{"body":{"nativeSrc":"814:78:6","nodeType":"YulBlock","src":"814:78:6","statements":[{"body":{"nativeSrc":"870:16:6","nodeType":"YulBlock","src":"870:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"879:1:6","nodeType":"YulLiteral","src":"879:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"882:1:6","nodeType":"YulLiteral","src":"882:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"872:6:6","nodeType":"YulIdentifier","src":"872:6:6"},"nativeSrc":"872:12:6","nodeType":"YulFunctionCall","src":"872:12:6"},"nativeSrc":"872:12:6","nodeType":"YulExpressionStatement","src":"872:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"837:5:6","nodeType":"YulIdentifier","src":"837:5:6"},{"arguments":[{"name":"value","nativeSrc":"861:5:6","nodeType":"YulIdentifier","src":"861:5:6"}],"functionName":{"name":"cleanup_t_int256","nativeSrc":"844:16:6","nodeType":"YulIdentifier","src":"844:16:6"},"nativeSrc":"844:23:6","nodeType":"YulFunctionCall","src":"844:23:6"}],"functionName":{"name":"eq","nativeSrc":"834:2:6","nodeType":"YulIdentifier","src":"834:2:6"},"nativeSrc":"834:34:6","nodeType":"YulFunctionCall","src":"834:34:6"}],"functionName":{"name":"iszero","nativeSrc":"827:6:6","nodeType":"YulIdentifier","src":"827:6:6"},"nativeSrc":"827:42:6","nodeType":"YulFunctionCall","src":"827:42:6"},"nativeSrc":"824:62:6","nodeType":"YulIf","src":"824:62:6"}]},"name":"validator_revert_t_int256","nativeSrc":"772:120:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"807:5:6","nodeType":"YulTypedName","src":"807:5:6","type":""}],"src":"772:120:6"},{"body":{"nativeSrc":"949:86:6","nodeType":"YulBlock","src":"949:86:6","statements":[{"nativeSrc":"959:29:6","nodeType":"YulAssignment","src":"959:29:6","value":{"arguments":[{"name":"offset","nativeSrc":"981:6:6","nodeType":"YulIdentifier","src":"981:6:6"}],"functionName":{"name":"calldataload","nativeSrc":"968:12:6","nodeType":"YulIdentifier","src":"968:12:6"},"nativeSrc":"968:20:6","nodeType":"YulFunctionCall","src":"968:20:6"},"variableNames":[{"name":"value","nativeSrc":"959:5:6","nodeType":"YulIdentifier","src":"959:5:6"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"1023:5:6","nodeType":"YulIdentifier","src":"1023:5:6"}],"functionName":{"name":"validator_revert_t_int256","nativeSrc":"997:25:6","nodeType":"YulIdentifier","src":"997:25:6"},"nativeSrc":"997:32:6","nodeType":"YulFunctionCall","src":"997:32:6"},"nativeSrc":"997:32:6","nodeType":"YulExpressionStatement","src":"997:32:6"}]},"name":"abi_decode_t_int256","nativeSrc":"898:137:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"927:6:6","nodeType":"YulTypedName","src":"927:6:6","type":""},{"name":"end","nativeSrc":"935:3:6","nodeType":"YulTypedName","src":"935:3:6","type":""}],"returnVariables":[{"name":"value","nativeSrc":"943:5:6","nodeType":"YulTypedName","src":"943:5:6","type":""}],"src":"898:137:6"},{"body":{"nativeSrc":"1130:28:6","nodeType":"YulBlock","src":"1130:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1147:1:6","nodeType":"YulLiteral","src":"1147:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"1150:1:6","nodeType":"YulLiteral","src":"1150:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1140:6:6","nodeType":"YulIdentifier","src":"1140:6:6"},"nativeSrc":"1140:12:6","nodeType":"YulFunctionCall","src":"1140:12:6"},"nativeSrc":"1140:12:6","nodeType":"YulExpressionStatement","src":"1140:12:6"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"1041:117:6","nodeType":"YulFunctionDefinition","src":"1041:117:6"},{"body":{"nativeSrc":"1253:28:6","nodeType":"YulBlock","src":"1253:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1270:1:6","nodeType":"YulLiteral","src":"1270:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"1273:1:6","nodeType":"YulLiteral","src":"1273:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"1263:6:6","nodeType":"YulIdentifier","src":"1263:6:6"},"nativeSrc":"1263:12:6","nodeType":"YulFunctionCall","src":"1263:12:6"},"nativeSrc":"1263:12:6","nodeType":"YulExpressionStatement","src":"1263:12:6"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"1164:117:6","nodeType":"YulFunctionDefinition","src":"1164:117:6"},{"body":{"nativeSrc":"1335:54:6","nodeType":"YulBlock","src":"1335:54:6","statements":[{"nativeSrc":"1345:38:6","nodeType":"YulAssignment","src":"1345:38:6","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"1363:5:6","nodeType":"YulIdentifier","src":"1363:5:6"},{"kind":"number","nativeSrc":"1370:2:6","nodeType":"YulLiteral","src":"1370:2:6","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"1359:3:6","nodeType":"YulIdentifier","src":"1359:3:6"},"nativeSrc":"1359:14:6","nodeType":"YulFunctionCall","src":"1359:14:6"},{"arguments":[{"kind":"number","nativeSrc":"1379:2:6","nodeType":"YulLiteral","src":"1379:2:6","type":"","value":"31"}],"functionName":{"name":"not","nativeSrc":"1375:3:6","nodeType":"YulIdentifier","src":"1375:3:6"},"nativeSrc":"1375:7:6","nodeType":"YulFunctionCall","src":"1375:7:6"}],"functionName":{"name":"and","nativeSrc":"1355:3:6","nodeType":"YulIdentifier","src":"1355:3:6"},"nativeSrc":"1355:28:6","nodeType":"YulFunctionCall","src":"1355:28:6"},"variableNames":[{"name":"result","nativeSrc":"1345:6:6","nodeType":"YulIdentifier","src":"1345:6:6"}]}]},"name":"round_up_to_mul_of_32","nativeSrc":"1287:102:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"1318:5:6","nodeType":"YulTypedName","src":"1318:5:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"1328:6:6","nodeType":"YulTypedName","src":"1328:6:6","type":""}],"src":"1287:102:6"},{"body":{"nativeSrc":"1423:152:6","nodeType":"YulBlock","src":"1423:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1440:1:6","nodeType":"YulLiteral","src":"1440:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"1443:77:6","nodeType":"YulLiteral","src":"1443:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"1433:6:6","nodeType":"YulIdentifier","src":"1433:6:6"},"nativeSrc":"1433:88:6","nodeType":"YulFunctionCall","src":"1433:88:6"},"nativeSrc":"1433:88:6","nodeType":"YulExpressionStatement","src":"1433:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1537:1:6","nodeType":"YulLiteral","src":"1537:1:6","type":"","value":"4"},{"kind":"number","nativeSrc":"1540:4:6","nodeType":"YulLiteral","src":"1540:4:6","type":"","value":"0x41"}],"functionName":{"name":"mstore","nativeSrc":"1530:6:6","nodeType":"YulIdentifier","src":"1530:6:6"},"nativeSrc":"1530:15:6","nodeType":"YulFunctionCall","src":"1530:15:6"},"nativeSrc":"1530:15:6","nodeType":"YulExpressionStatement","src":"1530:15:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1561:1:6","nodeType":"YulLiteral","src":"1561:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"1564:4:6","nodeType":"YulLiteral","src":"1564:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"1554:6:6","nodeType":"YulIdentifier","src":"1554:6:6"},"nativeSrc":"1554:15:6","nodeType":"YulFunctionCall","src":"1554:15:6"},"nativeSrc":"1554:15:6","nodeType":"YulExpressionStatement","src":"1554:15:6"}]},"name":"panic_error_0x41","nativeSrc":"1395:180:6","nodeType":"YulFunctionDefinition","src":"1395:180:6"},{"body":{"nativeSrc":"1624:238:6","nodeType":"YulBlock","src":"1624:238:6","statements":[{"nativeSrc":"1634:58:6","nodeType":"YulVariableDeclaration","src":"1634:58:6","value":{"arguments":[{"name":"memPtr","nativeSrc":"1656:6:6","nodeType":"YulIdentifier","src":"1656:6:6"},{"arguments":[{"name":"size","nativeSrc":"1686:4:6","nodeType":"YulIdentifier","src":"1686:4:6"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"1664:21:6","nodeType":"YulIdentifier","src":"1664:21:6"},"nativeSrc":"1664:27:6","nodeType":"YulFunctionCall","src":"1664:27:6"}],"functionName":{"name":"add","nativeSrc":"1652:3:6","nodeType":"YulIdentifier","src":"1652:3:6"},"nativeSrc":"1652:40:6","nodeType":"YulFunctionCall","src":"1652:40:6"},"variables":[{"name":"newFreePtr","nativeSrc":"1638:10:6","nodeType":"YulTypedName","src":"1638:10:6","type":""}]},{"body":{"nativeSrc":"1803:22:6","nodeType":"YulBlock","src":"1803:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"1805:16:6","nodeType":"YulIdentifier","src":"1805:16:6"},"nativeSrc":"1805:18:6","nodeType":"YulFunctionCall","src":"1805:18:6"},"nativeSrc":"1805:18:6","nodeType":"YulExpressionStatement","src":"1805:18:6"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nativeSrc":"1746:10:6","nodeType":"YulIdentifier","src":"1746:10:6"},{"kind":"number","nativeSrc":"1758:18:6","nodeType":"YulLiteral","src":"1758:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"1743:2:6","nodeType":"YulIdentifier","src":"1743:2:6"},"nativeSrc":"1743:34:6","nodeType":"YulFunctionCall","src":"1743:34:6"},{"arguments":[{"name":"newFreePtr","nativeSrc":"1782:10:6","nodeType":"YulIdentifier","src":"1782:10:6"},{"name":"memPtr","nativeSrc":"1794:6:6","nodeType":"YulIdentifier","src":"1794:6:6"}],"functionName":{"name":"lt","nativeSrc":"1779:2:6","nodeType":"YulIdentifier","src":"1779:2:6"},"nativeSrc":"1779:22:6","nodeType":"YulFunctionCall","src":"1779:22:6"}],"functionName":{"name":"or","nativeSrc":"1740:2:6","nodeType":"YulIdentifier","src":"1740:2:6"},"nativeSrc":"1740:62:6","nodeType":"YulFunctionCall","src":"1740:62:6"},"nativeSrc":"1737:88:6","nodeType":"YulIf","src":"1737:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1841:2:6","nodeType":"YulLiteral","src":"1841:2:6","type":"","value":"64"},{"name":"newFreePtr","nativeSrc":"1845:10:6","nodeType":"YulIdentifier","src":"1845:10:6"}],"functionName":{"name":"mstore","nativeSrc":"1834:6:6","nodeType":"YulIdentifier","src":"1834:6:6"},"nativeSrc":"1834:22:6","nodeType":"YulFunctionCall","src":"1834:22:6"},"nativeSrc":"1834:22:6","nodeType":"YulExpressionStatement","src":"1834:22:6"}]},"name":"finalize_allocation","nativeSrc":"1581:281:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"1610:6:6","nodeType":"YulTypedName","src":"1610:6:6","type":""},{"name":"size","nativeSrc":"1618:4:6","nodeType":"YulTypedName","src":"1618:4:6","type":""}],"src":"1581:281:6"},{"body":{"nativeSrc":"1909:88:6","nodeType":"YulBlock","src":"1909:88:6","statements":[{"nativeSrc":"1919:30:6","nodeType":"YulAssignment","src":"1919:30:6","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nativeSrc":"1929:18:6","nodeType":"YulIdentifier","src":"1929:18:6"},"nativeSrc":"1929:20:6","nodeType":"YulFunctionCall","src":"1929:20:6"},"variableNames":[{"name":"memPtr","nativeSrc":"1919:6:6","nodeType":"YulIdentifier","src":"1919:6:6"}]},{"expression":{"arguments":[{"name":"memPtr","nativeSrc":"1978:6:6","nodeType":"YulIdentifier","src":"1978:6:6"},{"name":"size","nativeSrc":"1986:4:6","nodeType":"YulIdentifier","src":"1986:4:6"}],"functionName":{"name":"finalize_allocation","nativeSrc":"1958:19:6","nodeType":"YulIdentifier","src":"1958:19:6"},"nativeSrc":"1958:33:6","nodeType":"YulFunctionCall","src":"1958:33:6"},"nativeSrc":"1958:33:6","nodeType":"YulExpressionStatement","src":"1958:33:6"}]},"name":"allocate_memory","nativeSrc":"1868:129:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nativeSrc":"1893:4:6","nodeType":"YulTypedName","src":"1893:4:6","type":""}],"returnVariables":[{"name":"memPtr","nativeSrc":"1902:6:6","nodeType":"YulTypedName","src":"1902:6:6","type":""}],"src":"1868:129:6"},{"body":{"nativeSrc":"2070:241:6","nodeType":"YulBlock","src":"2070:241:6","statements":[{"body":{"nativeSrc":"2175:22:6","nodeType":"YulBlock","src":"2175:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"2177:16:6","nodeType":"YulIdentifier","src":"2177:16:6"},"nativeSrc":"2177:18:6","nodeType":"YulFunctionCall","src":"2177:18:6"},"nativeSrc":"2177:18:6","nodeType":"YulExpressionStatement","src":"2177:18:6"}]},"condition":{"arguments":[{"name":"length","nativeSrc":"2147:6:6","nodeType":"YulIdentifier","src":"2147:6:6"},{"kind":"number","nativeSrc":"2155:18:6","nodeType":"YulLiteral","src":"2155:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"2144:2:6","nodeType":"YulIdentifier","src":"2144:2:6"},"nativeSrc":"2144:30:6","nodeType":"YulFunctionCall","src":"2144:30:6"},"nativeSrc":"2141:56:6","nodeType":"YulIf","src":"2141:56:6"},{"nativeSrc":"2207:37:6","nodeType":"YulAssignment","src":"2207:37:6","value":{"arguments":[{"name":"length","nativeSrc":"2237:6:6","nodeType":"YulIdentifier","src":"2237:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"2215:21:6","nodeType":"YulIdentifier","src":"2215:21:6"},"nativeSrc":"2215:29:6","nodeType":"YulFunctionCall","src":"2215:29:6"},"variableNames":[{"name":"size","nativeSrc":"2207:4:6","nodeType":"YulIdentifier","src":"2207:4:6"}]},{"nativeSrc":"2281:23:6","nodeType":"YulAssignment","src":"2281:23:6","value":{"arguments":[{"name":"size","nativeSrc":"2293:4:6","nodeType":"YulIdentifier","src":"2293:4:6"},{"kind":"number","nativeSrc":"2299:4:6","nodeType":"YulLiteral","src":"2299:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2289:3:6","nodeType":"YulIdentifier","src":"2289:3:6"},"nativeSrc":"2289:15:6","nodeType":"YulFunctionCall","src":"2289:15:6"},"variableNames":[{"name":"size","nativeSrc":"2281:4:6","nodeType":"YulIdentifier","src":"2281:4:6"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nativeSrc":"2003:308:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nativeSrc":"2054:6:6","nodeType":"YulTypedName","src":"2054:6:6","type":""}],"returnVariables":[{"name":"size","nativeSrc":"2065:4:6","nodeType":"YulTypedName","src":"2065:4:6","type":""}],"src":"2003:308:6"},{"body":{"nativeSrc":"2381:82:6","nodeType":"YulBlock","src":"2381:82:6","statements":[{"expression":{"arguments":[{"name":"dst","nativeSrc":"2404:3:6","nodeType":"YulIdentifier","src":"2404:3:6"},{"name":"src","nativeSrc":"2409:3:6","nodeType":"YulIdentifier","src":"2409:3:6"},{"name":"length","nativeSrc":"2414:6:6","nodeType":"YulIdentifier","src":"2414:6:6"}],"functionName":{"name":"calldatacopy","nativeSrc":"2391:12:6","nodeType":"YulIdentifier","src":"2391:12:6"},"nativeSrc":"2391:30:6","nodeType":"YulFunctionCall","src":"2391:30:6"},"nativeSrc":"2391:30:6","nodeType":"YulExpressionStatement","src":"2391:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"2441:3:6","nodeType":"YulIdentifier","src":"2441:3:6"},{"name":"length","nativeSrc":"2446:6:6","nodeType":"YulIdentifier","src":"2446:6:6"}],"functionName":{"name":"add","nativeSrc":"2437:3:6","nodeType":"YulIdentifier","src":"2437:3:6"},"nativeSrc":"2437:16:6","nodeType":"YulFunctionCall","src":"2437:16:6"},{"kind":"number","nativeSrc":"2455:1:6","nodeType":"YulLiteral","src":"2455:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"2430:6:6","nodeType":"YulIdentifier","src":"2430:6:6"},"nativeSrc":"2430:27:6","nodeType":"YulFunctionCall","src":"2430:27:6"},"nativeSrc":"2430:27:6","nodeType":"YulExpressionStatement","src":"2430:27:6"}]},"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2317:146:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"2363:3:6","nodeType":"YulTypedName","src":"2363:3:6","type":""},{"name":"dst","nativeSrc":"2368:3:6","nodeType":"YulTypedName","src":"2368:3:6","type":""},{"name":"length","nativeSrc":"2373:6:6","nodeType":"YulTypedName","src":"2373:6:6","type":""}],"src":"2317:146:6"},{"body":{"nativeSrc":"2553:341:6","nodeType":"YulBlock","src":"2553:341:6","statements":[{"nativeSrc":"2563:75:6","nodeType":"YulAssignment","src":"2563:75:6","value":{"arguments":[{"arguments":[{"name":"length","nativeSrc":"2630:6:6","nodeType":"YulIdentifier","src":"2630:6:6"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nativeSrc":"2588:41:6","nodeType":"YulIdentifier","src":"2588:41:6"},"nativeSrc":"2588:49:6","nodeType":"YulFunctionCall","src":"2588:49:6"}],"functionName":{"name":"allocate_memory","nativeSrc":"2572:15:6","nodeType":"YulIdentifier","src":"2572:15:6"},"nativeSrc":"2572:66:6","nodeType":"YulFunctionCall","src":"2572:66:6"},"variableNames":[{"name":"array","nativeSrc":"2563:5:6","nodeType":"YulIdentifier","src":"2563:5:6"}]},{"expression":{"arguments":[{"name":"array","nativeSrc":"2654:5:6","nodeType":"YulIdentifier","src":"2654:5:6"},{"name":"length","nativeSrc":"2661:6:6","nodeType":"YulIdentifier","src":"2661:6:6"}],"functionName":{"name":"mstore","nativeSrc":"2647:6:6","nodeType":"YulIdentifier","src":"2647:6:6"},"nativeSrc":"2647:21:6","nodeType":"YulFunctionCall","src":"2647:21:6"},"nativeSrc":"2647:21:6","nodeType":"YulExpressionStatement","src":"2647:21:6"},{"nativeSrc":"2677:27:6","nodeType":"YulVariableDeclaration","src":"2677:27:6","value":{"arguments":[{"name":"array","nativeSrc":"2692:5:6","nodeType":"YulIdentifier","src":"2692:5:6"},{"kind":"number","nativeSrc":"2699:4:6","nodeType":"YulLiteral","src":"2699:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2688:3:6","nodeType":"YulIdentifier","src":"2688:3:6"},"nativeSrc":"2688:16:6","nodeType":"YulFunctionCall","src":"2688:16:6"},"variables":[{"name":"dst","nativeSrc":"2681:3:6","nodeType":"YulTypedName","src":"2681:3:6","type":""}]},{"body":{"nativeSrc":"2742:83:6","nodeType":"YulBlock","src":"2742:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nativeSrc":"2744:77:6","nodeType":"YulIdentifier","src":"2744:77:6"},"nativeSrc":"2744:79:6","nodeType":"YulFunctionCall","src":"2744:79:6"},"nativeSrc":"2744:79:6","nodeType":"YulExpressionStatement","src":"2744:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"2723:3:6","nodeType":"YulIdentifier","src":"2723:3:6"},{"name":"length","nativeSrc":"2728:6:6","nodeType":"YulIdentifier","src":"2728:6:6"}],"functionName":{"name":"add","nativeSrc":"2719:3:6","nodeType":"YulIdentifier","src":"2719:3:6"},"nativeSrc":"2719:16:6","nodeType":"YulFunctionCall","src":"2719:16:6"},{"name":"end","nativeSrc":"2737:3:6","nodeType":"YulIdentifier","src":"2737:3:6"}],"functionName":{"name":"gt","nativeSrc":"2716:2:6","nodeType":"YulIdentifier","src":"2716:2:6"},"nativeSrc":"2716:25:6","nodeType":"YulFunctionCall","src":"2716:25:6"},"nativeSrc":"2713:112:6","nodeType":"YulIf","src":"2713:112:6"},{"expression":{"arguments":[{"name":"src","nativeSrc":"2871:3:6","nodeType":"YulIdentifier","src":"2871:3:6"},{"name":"dst","nativeSrc":"2876:3:6","nodeType":"YulIdentifier","src":"2876:3:6"},{"name":"length","nativeSrc":"2881:6:6","nodeType":"YulIdentifier","src":"2881:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nativeSrc":"2834:36:6","nodeType":"YulIdentifier","src":"2834:36:6"},"nativeSrc":"2834:54:6","nodeType":"YulFunctionCall","src":"2834:54:6"},"nativeSrc":"2834:54:6","nodeType":"YulExpressionStatement","src":"2834:54:6"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nativeSrc":"2469:425:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"2526:3:6","nodeType":"YulTypedName","src":"2526:3:6","type":""},{"name":"length","nativeSrc":"2531:6:6","nodeType":"YulTypedName","src":"2531:6:6","type":""},{"name":"end","nativeSrc":"2539:3:6","nodeType":"YulTypedName","src":"2539:3:6","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2547:5:6","nodeType":"YulTypedName","src":"2547:5:6","type":""}],"src":"2469:425:6"},{"body":{"nativeSrc":"2976:278:6","nodeType":"YulBlock","src":"2976:278:6","statements":[{"body":{"nativeSrc":"3025:83:6","nodeType":"YulBlock","src":"3025:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nativeSrc":"3027:77:6","nodeType":"YulIdentifier","src":"3027:77:6"},"nativeSrc":"3027:79:6","nodeType":"YulFunctionCall","src":"3027:79:6"},"nativeSrc":"3027:79:6","nodeType":"YulExpressionStatement","src":"3027:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3004:6:6","nodeType":"YulIdentifier","src":"3004:6:6"},{"kind":"number","nativeSrc":"3012:4:6","nodeType":"YulLiteral","src":"3012:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nativeSrc":"3000:3:6","nodeType":"YulIdentifier","src":"3000:3:6"},"nativeSrc":"3000:17:6","nodeType":"YulFunctionCall","src":"3000:17:6"},{"name":"end","nativeSrc":"3019:3:6","nodeType":"YulIdentifier","src":"3019:3:6"}],"functionName":{"name":"slt","nativeSrc":"2996:3:6","nodeType":"YulIdentifier","src":"2996:3:6"},"nativeSrc":"2996:27:6","nodeType":"YulFunctionCall","src":"2996:27:6"}],"functionName":{"name":"iszero","nativeSrc":"2989:6:6","nodeType":"YulIdentifier","src":"2989:6:6"},"nativeSrc":"2989:35:6","nodeType":"YulFunctionCall","src":"2989:35:6"},"nativeSrc":"2986:122:6","nodeType":"YulIf","src":"2986:122:6"},{"nativeSrc":"3117:34:6","nodeType":"YulVariableDeclaration","src":"3117:34:6","value":{"arguments":[{"name":"offset","nativeSrc":"3144:6:6","nodeType":"YulIdentifier","src":"3144:6:6"}],"functionName":{"name":"calldataload","nativeSrc":"3131:12:6","nodeType":"YulIdentifier","src":"3131:12:6"},"nativeSrc":"3131:20:6","nodeType":"YulFunctionCall","src":"3131:20:6"},"variables":[{"name":"length","nativeSrc":"3121:6:6","nodeType":"YulTypedName","src":"3121:6:6","type":""}]},{"nativeSrc":"3160:88:6","nodeType":"YulAssignment","src":"3160:88:6","value":{"arguments":[{"arguments":[{"name":"offset","nativeSrc":"3221:6:6","nodeType":"YulIdentifier","src":"3221:6:6"},{"kind":"number","nativeSrc":"3229:4:6","nodeType":"YulLiteral","src":"3229:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"3217:3:6","nodeType":"YulIdentifier","src":"3217:3:6"},"nativeSrc":"3217:17:6","nodeType":"YulFunctionCall","src":"3217:17:6"},{"name":"length","nativeSrc":"3236:6:6","nodeType":"YulIdentifier","src":"3236:6:6"},{"name":"end","nativeSrc":"3244:3:6","nodeType":"YulIdentifier","src":"3244:3:6"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nativeSrc":"3169:47:6","nodeType":"YulIdentifier","src":"3169:47:6"},"nativeSrc":"3169:79:6","nodeType":"YulFunctionCall","src":"3169:79:6"},"variableNames":[{"name":"array","nativeSrc":"3160:5:6","nodeType":"YulIdentifier","src":"3160:5:6"}]}]},"name":"abi_decode_t_string_memory_ptr","nativeSrc":"2914:340:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"2954:6:6","nodeType":"YulTypedName","src":"2954:6:6","type":""},{"name":"end","nativeSrc":"2962:3:6","nodeType":"YulTypedName","src":"2962:3:6","type":""}],"returnVariables":[{"name":"array","nativeSrc":"2970:5:6","nodeType":"YulTypedName","src":"2970:5:6","type":""}],"src":"2914:340:6"},{"body":{"nativeSrc":"3369:688:6","nodeType":"YulBlock","src":"3369:688:6","statements":[{"body":{"nativeSrc":"3415:83:6","nodeType":"YulBlock","src":"3415:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"3417:77:6","nodeType":"YulIdentifier","src":"3417:77:6"},"nativeSrc":"3417:79:6","nodeType":"YulFunctionCall","src":"3417:79:6"},"nativeSrc":"3417:79:6","nodeType":"YulExpressionStatement","src":"3417:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"3390:7:6","nodeType":"YulIdentifier","src":"3390:7:6"},{"name":"headStart","nativeSrc":"3399:9:6","nodeType":"YulIdentifier","src":"3399:9:6"}],"functionName":{"name":"sub","nativeSrc":"3386:3:6","nodeType":"YulIdentifier","src":"3386:3:6"},"nativeSrc":"3386:23:6","nodeType":"YulFunctionCall","src":"3386:23:6"},{"kind":"number","nativeSrc":"3411:2:6","nodeType":"YulLiteral","src":"3411:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nativeSrc":"3382:3:6","nodeType":"YulIdentifier","src":"3382:3:6"},"nativeSrc":"3382:32:6","nodeType":"YulFunctionCall","src":"3382:32:6"},"nativeSrc":"3379:119:6","nodeType":"YulIf","src":"3379:119:6"},{"nativeSrc":"3508:117:6","nodeType":"YulBlock","src":"3508:117:6","statements":[{"nativeSrc":"3523:15:6","nodeType":"YulVariableDeclaration","src":"3523:15:6","value":{"kind":"number","nativeSrc":"3537:1:6","nodeType":"YulLiteral","src":"3537:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"3527:6:6","nodeType":"YulTypedName","src":"3527:6:6","type":""}]},{"nativeSrc":"3552:63:6","nodeType":"YulAssignment","src":"3552:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3587:9:6","nodeType":"YulIdentifier","src":"3587:9:6"},{"name":"offset","nativeSrc":"3598:6:6","nodeType":"YulIdentifier","src":"3598:6:6"}],"functionName":{"name":"add","nativeSrc":"3583:3:6","nodeType":"YulIdentifier","src":"3583:3:6"},"nativeSrc":"3583:22:6","nodeType":"YulFunctionCall","src":"3583:22:6"},{"name":"dataEnd","nativeSrc":"3607:7:6","nodeType":"YulIdentifier","src":"3607:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"3562:20:6","nodeType":"YulIdentifier","src":"3562:20:6"},"nativeSrc":"3562:53:6","nodeType":"YulFunctionCall","src":"3562:53:6"},"variableNames":[{"name":"value0","nativeSrc":"3552:6:6","nodeType":"YulIdentifier","src":"3552:6:6"}]}]},{"nativeSrc":"3635:117:6","nodeType":"YulBlock","src":"3635:117:6","statements":[{"nativeSrc":"3650:16:6","nodeType":"YulVariableDeclaration","src":"3650:16:6","value":{"kind":"number","nativeSrc":"3664:2:6","nodeType":"YulLiteral","src":"3664:2:6","type":"","value":"32"},"variables":[{"name":"offset","nativeSrc":"3654:6:6","nodeType":"YulTypedName","src":"3654:6:6","type":""}]},{"nativeSrc":"3680:62:6","nodeType":"YulAssignment","src":"3680:62:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3714:9:6","nodeType":"YulIdentifier","src":"3714:9:6"},{"name":"offset","nativeSrc":"3725:6:6","nodeType":"YulIdentifier","src":"3725:6:6"}],"functionName":{"name":"add","nativeSrc":"3710:3:6","nodeType":"YulIdentifier","src":"3710:3:6"},"nativeSrc":"3710:22:6","nodeType":"YulFunctionCall","src":"3710:22:6"},{"name":"dataEnd","nativeSrc":"3734:7:6","nodeType":"YulIdentifier","src":"3734:7:6"}],"functionName":{"name":"abi_decode_t_int256","nativeSrc":"3690:19:6","nodeType":"YulIdentifier","src":"3690:19:6"},"nativeSrc":"3690:52:6","nodeType":"YulFunctionCall","src":"3690:52:6"},"variableNames":[{"name":"value1","nativeSrc":"3680:6:6","nodeType":"YulIdentifier","src":"3680:6:6"}]}]},{"nativeSrc":"3762:288:6","nodeType":"YulBlock","src":"3762:288:6","statements":[{"nativeSrc":"3777:46:6","nodeType":"YulVariableDeclaration","src":"3777:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"3808:9:6","nodeType":"YulIdentifier","src":"3808:9:6"},{"kind":"number","nativeSrc":"3819:2:6","nodeType":"YulLiteral","src":"3819:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"3804:3:6","nodeType":"YulIdentifier","src":"3804:3:6"},"nativeSrc":"3804:18:6","nodeType":"YulFunctionCall","src":"3804:18:6"}],"functionName":{"name":"calldataload","nativeSrc":"3791:12:6","nodeType":"YulIdentifier","src":"3791:12:6"},"nativeSrc":"3791:32:6","nodeType":"YulFunctionCall","src":"3791:32:6"},"variables":[{"name":"offset","nativeSrc":"3781:6:6","nodeType":"YulTypedName","src":"3781:6:6","type":""}]},{"body":{"nativeSrc":"3870:83:6","nodeType":"YulBlock","src":"3870:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nativeSrc":"3872:77:6","nodeType":"YulIdentifier","src":"3872:77:6"},"nativeSrc":"3872:79:6","nodeType":"YulFunctionCall","src":"3872:79:6"},"nativeSrc":"3872:79:6","nodeType":"YulExpressionStatement","src":"3872:79:6"}]},"condition":{"arguments":[{"name":"offset","nativeSrc":"3842:6:6","nodeType":"YulIdentifier","src":"3842:6:6"},{"kind":"number","nativeSrc":"3850:18:6","nodeType":"YulLiteral","src":"3850:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"3839:2:6","nodeType":"YulIdentifier","src":"3839:2:6"},"nativeSrc":"3839:30:6","nodeType":"YulFunctionCall","src":"3839:30:6"},"nativeSrc":"3836:117:6","nodeType":"YulIf","src":"3836:117:6"},{"nativeSrc":"3967:73:6","nodeType":"YulAssignment","src":"3967:73:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"4012:9:6","nodeType":"YulIdentifier","src":"4012:9:6"},{"name":"offset","nativeSrc":"4023:6:6","nodeType":"YulIdentifier","src":"4023:6:6"}],"functionName":{"name":"add","nativeSrc":"4008:3:6","nodeType":"YulIdentifier","src":"4008:3:6"},"nativeSrc":"4008:22:6","nodeType":"YulFunctionCall","src":"4008:22:6"},{"name":"dataEnd","nativeSrc":"4032:7:6","nodeType":"YulIdentifier","src":"4032:7:6"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nativeSrc":"3977:30:6","nodeType":"YulIdentifier","src":"3977:30:6"},"nativeSrc":"3977:63:6","nodeType":"YulFunctionCall","src":"3977:63:6"},"variableNames":[{"name":"value2","nativeSrc":"3967:6:6","nodeType":"YulIdentifier","src":"3967:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint256t_int256t_string_memory_ptr","nativeSrc":"3260:797:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"3323:9:6","nodeType":"YulTypedName","src":"3323:9:6","type":""},{"name":"dataEnd","nativeSrc":"3334:7:6","nodeType":"YulTypedName","src":"3334:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"3346:6:6","nodeType":"YulTypedName","src":"3346:6:6","type":""},{"name":"value1","nativeSrc":"3354:6:6","nodeType":"YulTypedName","src":"3354:6:6","type":""},{"name":"value2","nativeSrc":"3362:6:6","nodeType":"YulTypedName","src":"3362:6:6","type":""}],"src":"3260:797:6"},{"body":{"nativeSrc":"4122:40:6","nodeType":"YulBlock","src":"4122:40:6","statements":[{"nativeSrc":"4133:22:6","nodeType":"YulAssignment","src":"4133:22:6","value":{"arguments":[{"name":"value","nativeSrc":"4149:5:6","nodeType":"YulIdentifier","src":"4149:5:6"}],"functionName":{"name":"mload","nativeSrc":"4143:5:6","nodeType":"YulIdentifier","src":"4143:5:6"},"nativeSrc":"4143:12:6","nodeType":"YulFunctionCall","src":"4143:12:6"},"variableNames":[{"name":"length","nativeSrc":"4133:6:6","nodeType":"YulIdentifier","src":"4133:6:6"}]}]},"name":"array_length_t_string_memory_ptr","nativeSrc":"4063:99:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"4105:5:6","nodeType":"YulTypedName","src":"4105:5:6","type":""}],"returnVariables":[{"name":"length","nativeSrc":"4115:6:6","nodeType":"YulTypedName","src":"4115:6:6","type":""}],"src":"4063:99:6"},{"body":{"nativeSrc":"4264:73:6","nodeType":"YulBlock","src":"4264:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"4281:3:6","nodeType":"YulIdentifier","src":"4281:3:6"},{"name":"length","nativeSrc":"4286:6:6","nodeType":"YulIdentifier","src":"4286:6:6"}],"functionName":{"name":"mstore","nativeSrc":"4274:6:6","nodeType":"YulIdentifier","src":"4274:6:6"},"nativeSrc":"4274:19:6","nodeType":"YulFunctionCall","src":"4274:19:6"},"nativeSrc":"4274:19:6","nodeType":"YulExpressionStatement","src":"4274:19:6"},{"nativeSrc":"4302:29:6","nodeType":"YulAssignment","src":"4302:29:6","value":{"arguments":[{"name":"pos","nativeSrc":"4321:3:6","nodeType":"YulIdentifier","src":"4321:3:6"},{"kind":"number","nativeSrc":"4326:4:6","nodeType":"YulLiteral","src":"4326:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4317:3:6","nodeType":"YulIdentifier","src":"4317:3:6"},"nativeSrc":"4317:14:6","nodeType":"YulFunctionCall","src":"4317:14:6"},"variableNames":[{"name":"updated_pos","nativeSrc":"4302:11:6","nodeType":"YulIdentifier","src":"4302:11:6"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"4168:169:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"4236:3:6","nodeType":"YulTypedName","src":"4236:3:6","type":""},{"name":"length","nativeSrc":"4241:6:6","nodeType":"YulTypedName","src":"4241:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nativeSrc":"4252:11:6","nodeType":"YulTypedName","src":"4252:11:6","type":""}],"src":"4168:169:6"},{"body":{"nativeSrc":"4405:184:6","nodeType":"YulBlock","src":"4405:184:6","statements":[{"nativeSrc":"4415:10:6","nodeType":"YulVariableDeclaration","src":"4415:10:6","value":{"kind":"number","nativeSrc":"4424:1:6","nodeType":"YulLiteral","src":"4424:1:6","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"4419:1:6","nodeType":"YulTypedName","src":"4419:1:6","type":""}]},{"body":{"nativeSrc":"4484:63:6","nodeType":"YulBlock","src":"4484:63:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"4509:3:6","nodeType":"YulIdentifier","src":"4509:3:6"},{"name":"i","nativeSrc":"4514:1:6","nodeType":"YulIdentifier","src":"4514:1:6"}],"functionName":{"name":"add","nativeSrc":"4505:3:6","nodeType":"YulIdentifier","src":"4505:3:6"},"nativeSrc":"4505:11:6","nodeType":"YulFunctionCall","src":"4505:11:6"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"4528:3:6","nodeType":"YulIdentifier","src":"4528:3:6"},{"name":"i","nativeSrc":"4533:1:6","nodeType":"YulIdentifier","src":"4533:1:6"}],"functionName":{"name":"add","nativeSrc":"4524:3:6","nodeType":"YulIdentifier","src":"4524:3:6"},"nativeSrc":"4524:11:6","nodeType":"YulFunctionCall","src":"4524:11:6"}],"functionName":{"name":"mload","nativeSrc":"4518:5:6","nodeType":"YulIdentifier","src":"4518:5:6"},"nativeSrc":"4518:18:6","nodeType":"YulFunctionCall","src":"4518:18:6"}],"functionName":{"name":"mstore","nativeSrc":"4498:6:6","nodeType":"YulIdentifier","src":"4498:6:6"},"nativeSrc":"4498:39:6","nodeType":"YulFunctionCall","src":"4498:39:6"},"nativeSrc":"4498:39:6","nodeType":"YulExpressionStatement","src":"4498:39:6"}]},"condition":{"arguments":[{"name":"i","nativeSrc":"4445:1:6","nodeType":"YulIdentifier","src":"4445:1:6"},{"name":"length","nativeSrc":"4448:6:6","nodeType":"YulIdentifier","src":"4448:6:6"}],"functionName":{"name":"lt","nativeSrc":"4442:2:6","nodeType":"YulIdentifier","src":"4442:2:6"},"nativeSrc":"4442:13:6","nodeType":"YulFunctionCall","src":"4442:13:6"},"nativeSrc":"4434:113:6","nodeType":"YulForLoop","post":{"nativeSrc":"4456:19:6","nodeType":"YulBlock","src":"4456:19:6","statements":[{"nativeSrc":"4458:15:6","nodeType":"YulAssignment","src":"4458:15:6","value":{"arguments":[{"name":"i","nativeSrc":"4467:1:6","nodeType":"YulIdentifier","src":"4467:1:6"},{"kind":"number","nativeSrc":"4470:2:6","nodeType":"YulLiteral","src":"4470:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"4463:3:6","nodeType":"YulIdentifier","src":"4463:3:6"},"nativeSrc":"4463:10:6","nodeType":"YulFunctionCall","src":"4463:10:6"},"variableNames":[{"name":"i","nativeSrc":"4458:1:6","nodeType":"YulIdentifier","src":"4458:1:6"}]}]},"pre":{"nativeSrc":"4438:3:6","nodeType":"YulBlock","src":"4438:3:6","statements":[]},"src":"4434:113:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nativeSrc":"4567:3:6","nodeType":"YulIdentifier","src":"4567:3:6"},{"name":"length","nativeSrc":"4572:6:6","nodeType":"YulIdentifier","src":"4572:6:6"}],"functionName":{"name":"add","nativeSrc":"4563:3:6","nodeType":"YulIdentifier","src":"4563:3:6"},"nativeSrc":"4563:16:6","nodeType":"YulFunctionCall","src":"4563:16:6"},{"kind":"number","nativeSrc":"4581:1:6","nodeType":"YulLiteral","src":"4581:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nativeSrc":"4556:6:6","nodeType":"YulIdentifier","src":"4556:6:6"},"nativeSrc":"4556:27:6","nodeType":"YulFunctionCall","src":"4556:27:6"},"nativeSrc":"4556:27:6","nodeType":"YulExpressionStatement","src":"4556:27:6"}]},"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"4343:246:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nativeSrc":"4387:3:6","nodeType":"YulTypedName","src":"4387:3:6","type":""},{"name":"dst","nativeSrc":"4392:3:6","nodeType":"YulTypedName","src":"4392:3:6","type":""},{"name":"length","nativeSrc":"4397:6:6","nodeType":"YulTypedName","src":"4397:6:6","type":""}],"src":"4343:246:6"},{"body":{"nativeSrc":"4687:285:6","nodeType":"YulBlock","src":"4687:285:6","statements":[{"nativeSrc":"4697:53:6","nodeType":"YulVariableDeclaration","src":"4697:53:6","value":{"arguments":[{"name":"value","nativeSrc":"4744:5:6","nodeType":"YulIdentifier","src":"4744:5:6"}],"functionName":{"name":"array_length_t_string_memory_ptr","nativeSrc":"4711:32:6","nodeType":"YulIdentifier","src":"4711:32:6"},"nativeSrc":"4711:39:6","nodeType":"YulFunctionCall","src":"4711:39:6"},"variables":[{"name":"length","nativeSrc":"4701:6:6","nodeType":"YulTypedName","src":"4701:6:6","type":""}]},{"nativeSrc":"4759:78:6","nodeType":"YulAssignment","src":"4759:78:6","value":{"arguments":[{"name":"pos","nativeSrc":"4825:3:6","nodeType":"YulIdentifier","src":"4825:3:6"},{"name":"length","nativeSrc":"4830:6:6","nodeType":"YulIdentifier","src":"4830:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"4766:58:6","nodeType":"YulIdentifier","src":"4766:58:6"},"nativeSrc":"4766:71:6","nodeType":"YulFunctionCall","src":"4766:71:6"},"variableNames":[{"name":"pos","nativeSrc":"4759:3:6","nodeType":"YulIdentifier","src":"4759:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"4885:5:6","nodeType":"YulIdentifier","src":"4885:5:6"},{"kind":"number","nativeSrc":"4892:4:6","nodeType":"YulLiteral","src":"4892:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"4881:3:6","nodeType":"YulIdentifier","src":"4881:3:6"},"nativeSrc":"4881:16:6","nodeType":"YulFunctionCall","src":"4881:16:6"},{"name":"pos","nativeSrc":"4899:3:6","nodeType":"YulIdentifier","src":"4899:3:6"},{"name":"length","nativeSrc":"4904:6:6","nodeType":"YulIdentifier","src":"4904:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nativeSrc":"4846:34:6","nodeType":"YulIdentifier","src":"4846:34:6"},"nativeSrc":"4846:65:6","nodeType":"YulFunctionCall","src":"4846:65:6"},"nativeSrc":"4846:65:6","nodeType":"YulExpressionStatement","src":"4846:65:6"},{"nativeSrc":"4920:46:6","nodeType":"YulAssignment","src":"4920:46:6","value":{"arguments":[{"name":"pos","nativeSrc":"4931:3:6","nodeType":"YulIdentifier","src":"4931:3:6"},{"arguments":[{"name":"length","nativeSrc":"4958:6:6","nodeType":"YulIdentifier","src":"4958:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nativeSrc":"4936:21:6","nodeType":"YulIdentifier","src":"4936:21:6"},"nativeSrc":"4936:29:6","nodeType":"YulFunctionCall","src":"4936:29:6"}],"functionName":{"name":"add","nativeSrc":"4927:3:6","nodeType":"YulIdentifier","src":"4927:3:6"},"nativeSrc":"4927:39:6","nodeType":"YulFunctionCall","src":"4927:39:6"},"variableNames":[{"name":"end","nativeSrc":"4920:3:6","nodeType":"YulIdentifier","src":"4920:3:6"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"4595:377:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"4668:5:6","nodeType":"YulTypedName","src":"4668:5:6","type":""},{"name":"pos","nativeSrc":"4675:3:6","nodeType":"YulTypedName","src":"4675:3:6","type":""}],"returnVariables":[{"name":"end","nativeSrc":"4683:3:6","nodeType":"YulTypedName","src":"4683:3:6","type":""}],"src":"4595:377:6"},{"body":{"nativeSrc":"5096:195:6","nodeType":"YulBlock","src":"5096:195:6","statements":[{"nativeSrc":"5106:26:6","nodeType":"YulAssignment","src":"5106:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"5118:9:6","nodeType":"YulIdentifier","src":"5118:9:6"},{"kind":"number","nativeSrc":"5129:2:6","nodeType":"YulLiteral","src":"5129:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"5114:3:6","nodeType":"YulIdentifier","src":"5114:3:6"},"nativeSrc":"5114:18:6","nodeType":"YulFunctionCall","src":"5114:18:6"},"variableNames":[{"name":"tail","nativeSrc":"5106:4:6","nodeType":"YulIdentifier","src":"5106:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"5153:9:6","nodeType":"YulIdentifier","src":"5153:9:6"},{"kind":"number","nativeSrc":"5164:1:6","nodeType":"YulLiteral","src":"5164:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"5149:3:6","nodeType":"YulIdentifier","src":"5149:3:6"},"nativeSrc":"5149:17:6","nodeType":"YulFunctionCall","src":"5149:17:6"},{"arguments":[{"name":"tail","nativeSrc":"5172:4:6","nodeType":"YulIdentifier","src":"5172:4:6"},{"name":"headStart","nativeSrc":"5178:9:6","nodeType":"YulIdentifier","src":"5178:9:6"}],"functionName":{"name":"sub","nativeSrc":"5168:3:6","nodeType":"YulIdentifier","src":"5168:3:6"},"nativeSrc":"5168:20:6","nodeType":"YulFunctionCall","src":"5168:20:6"}],"functionName":{"name":"mstore","nativeSrc":"5142:6:6","nodeType":"YulIdentifier","src":"5142:6:6"},"nativeSrc":"5142:47:6","nodeType":"YulFunctionCall","src":"5142:47:6"},"nativeSrc":"5142:47:6","nodeType":"YulExpressionStatement","src":"5142:47:6"},{"nativeSrc":"5198:86:6","nodeType":"YulAssignment","src":"5198:86:6","value":{"arguments":[{"name":"value0","nativeSrc":"5270:6:6","nodeType":"YulIdentifier","src":"5270:6:6"},{"name":"tail","nativeSrc":"5279:4:6","nodeType":"YulIdentifier","src":"5279:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"5206:63:6","nodeType":"YulIdentifier","src":"5206:63:6"},"nativeSrc":"5206:78:6","nodeType":"YulFunctionCall","src":"5206:78:6"},"variableNames":[{"name":"tail","nativeSrc":"5198:4:6","nodeType":"YulIdentifier","src":"5198:4:6"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"4978:313:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5068:9:6","nodeType":"YulTypedName","src":"5068:9:6","type":""},{"name":"value0","nativeSrc":"5080:6:6","nodeType":"YulTypedName","src":"5080:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"5091:4:6","nodeType":"YulTypedName","src":"5091:4:6","type":""}],"src":"4978:313:6"},{"body":{"nativeSrc":"5342:81:6","nodeType":"YulBlock","src":"5342:81:6","statements":[{"nativeSrc":"5352:65:6","nodeType":"YulAssignment","src":"5352:65:6","value":{"arguments":[{"name":"value","nativeSrc":"5367:5:6","nodeType":"YulIdentifier","src":"5367:5:6"},{"kind":"number","nativeSrc":"5374:42:6","nodeType":"YulLiteral","src":"5374:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nativeSrc":"5363:3:6","nodeType":"YulIdentifier","src":"5363:3:6"},"nativeSrc":"5363:54:6","nodeType":"YulFunctionCall","src":"5363:54:6"},"variableNames":[{"name":"cleaned","nativeSrc":"5352:7:6","nodeType":"YulIdentifier","src":"5352:7:6"}]}]},"name":"cleanup_t_uint160","nativeSrc":"5297:126:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5324:5:6","nodeType":"YulTypedName","src":"5324:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5334:7:6","nodeType":"YulTypedName","src":"5334:7:6","type":""}],"src":"5297:126:6"},{"body":{"nativeSrc":"5474:51:6","nodeType":"YulBlock","src":"5474:51:6","statements":[{"nativeSrc":"5484:35:6","nodeType":"YulAssignment","src":"5484:35:6","value":{"arguments":[{"name":"value","nativeSrc":"5513:5:6","nodeType":"YulIdentifier","src":"5513:5:6"}],"functionName":{"name":"cleanup_t_uint160","nativeSrc":"5495:17:6","nodeType":"YulIdentifier","src":"5495:17:6"},"nativeSrc":"5495:24:6","nodeType":"YulFunctionCall","src":"5495:24:6"},"variableNames":[{"name":"cleaned","nativeSrc":"5484:7:6","nodeType":"YulIdentifier","src":"5484:7:6"}]}]},"name":"cleanup_t_address","nativeSrc":"5429:96:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5456:5:6","nodeType":"YulTypedName","src":"5456:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"5466:7:6","nodeType":"YulTypedName","src":"5466:7:6","type":""}],"src":"5429:96:6"},{"body":{"nativeSrc":"5574:79:6","nodeType":"YulBlock","src":"5574:79:6","statements":[{"body":{"nativeSrc":"5631:16:6","nodeType":"YulBlock","src":"5631:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"5640:1:6","nodeType":"YulLiteral","src":"5640:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"5643:1:6","nodeType":"YulLiteral","src":"5643:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nativeSrc":"5633:6:6","nodeType":"YulIdentifier","src":"5633:6:6"},"nativeSrc":"5633:12:6","nodeType":"YulFunctionCall","src":"5633:12:6"},"nativeSrc":"5633:12:6","nodeType":"YulExpressionStatement","src":"5633:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"5597:5:6","nodeType":"YulIdentifier","src":"5597:5:6"},{"arguments":[{"name":"value","nativeSrc":"5622:5:6","nodeType":"YulIdentifier","src":"5622:5:6"}],"functionName":{"name":"cleanup_t_address","nativeSrc":"5604:17:6","nodeType":"YulIdentifier","src":"5604:17:6"},"nativeSrc":"5604:24:6","nodeType":"YulFunctionCall","src":"5604:24:6"}],"functionName":{"name":"eq","nativeSrc":"5594:2:6","nodeType":"YulIdentifier","src":"5594:2:6"},"nativeSrc":"5594:35:6","nodeType":"YulFunctionCall","src":"5594:35:6"}],"functionName":{"name":"iszero","nativeSrc":"5587:6:6","nodeType":"YulIdentifier","src":"5587:6:6"},"nativeSrc":"5587:43:6","nodeType":"YulFunctionCall","src":"5587:43:6"},"nativeSrc":"5584:63:6","nodeType":"YulIf","src":"5584:63:6"}]},"name":"validator_revert_t_address","nativeSrc":"5531:122:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"5567:5:6","nodeType":"YulTypedName","src":"5567:5:6","type":""}],"src":"5531:122:6"},{"body":{"nativeSrc":"5711:87:6","nodeType":"YulBlock","src":"5711:87:6","statements":[{"nativeSrc":"5721:29:6","nodeType":"YulAssignment","src":"5721:29:6","value":{"arguments":[{"name":"offset","nativeSrc":"5743:6:6","nodeType":"YulIdentifier","src":"5743:6:6"}],"functionName":{"name":"calldataload","nativeSrc":"5730:12:6","nodeType":"YulIdentifier","src":"5730:12:6"},"nativeSrc":"5730:20:6","nodeType":"YulFunctionCall","src":"5730:20:6"},"variableNames":[{"name":"value","nativeSrc":"5721:5:6","nodeType":"YulIdentifier","src":"5721:5:6"}]},{"expression":{"arguments":[{"name":"value","nativeSrc":"5786:5:6","nodeType":"YulIdentifier","src":"5786:5:6"}],"functionName":{"name":"validator_revert_t_address","nativeSrc":"5759:26:6","nodeType":"YulIdentifier","src":"5759:26:6"},"nativeSrc":"5759:33:6","nodeType":"YulFunctionCall","src":"5759:33:6"},"nativeSrc":"5759:33:6","nodeType":"YulExpressionStatement","src":"5759:33:6"}]},"name":"abi_decode_t_address","nativeSrc":"5659:139:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nativeSrc":"5689:6:6","nodeType":"YulTypedName","src":"5689:6:6","type":""},{"name":"end","nativeSrc":"5697:3:6","nodeType":"YulTypedName","src":"5697:3:6","type":""}],"returnVariables":[{"name":"value","nativeSrc":"5705:5:6","nodeType":"YulTypedName","src":"5705:5:6","type":""}],"src":"5659:139:6"},{"body":{"nativeSrc":"5887:391:6","nodeType":"YulBlock","src":"5887:391:6","statements":[{"body":{"nativeSrc":"5933:83:6","nodeType":"YulBlock","src":"5933:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"5935:77:6","nodeType":"YulIdentifier","src":"5935:77:6"},"nativeSrc":"5935:79:6","nodeType":"YulFunctionCall","src":"5935:79:6"},"nativeSrc":"5935:79:6","nodeType":"YulExpressionStatement","src":"5935:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"5908:7:6","nodeType":"YulIdentifier","src":"5908:7:6"},{"name":"headStart","nativeSrc":"5917:9:6","nodeType":"YulIdentifier","src":"5917:9:6"}],"functionName":{"name":"sub","nativeSrc":"5904:3:6","nodeType":"YulIdentifier","src":"5904:3:6"},"nativeSrc":"5904:23:6","nodeType":"YulFunctionCall","src":"5904:23:6"},{"kind":"number","nativeSrc":"5929:2:6","nodeType":"YulLiteral","src":"5929:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"5900:3:6","nodeType":"YulIdentifier","src":"5900:3:6"},"nativeSrc":"5900:32:6","nodeType":"YulFunctionCall","src":"5900:32:6"},"nativeSrc":"5897:119:6","nodeType":"YulIf","src":"5897:119:6"},{"nativeSrc":"6026:117:6","nodeType":"YulBlock","src":"6026:117:6","statements":[{"nativeSrc":"6041:15:6","nodeType":"YulVariableDeclaration","src":"6041:15:6","value":{"kind":"number","nativeSrc":"6055:1:6","nodeType":"YulLiteral","src":"6055:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"6045:6:6","nodeType":"YulTypedName","src":"6045:6:6","type":""}]},{"nativeSrc":"6070:63:6","nodeType":"YulAssignment","src":"6070:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6105:9:6","nodeType":"YulIdentifier","src":"6105:9:6"},{"name":"offset","nativeSrc":"6116:6:6","nodeType":"YulIdentifier","src":"6116:6:6"}],"functionName":{"name":"add","nativeSrc":"6101:3:6","nodeType":"YulIdentifier","src":"6101:3:6"},"nativeSrc":"6101:22:6","nodeType":"YulFunctionCall","src":"6101:22:6"},{"name":"dataEnd","nativeSrc":"6125:7:6","nodeType":"YulIdentifier","src":"6125:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"6080:20:6","nodeType":"YulIdentifier","src":"6080:20:6"},"nativeSrc":"6080:53:6","nodeType":"YulFunctionCall","src":"6080:53:6"},"variableNames":[{"name":"value0","nativeSrc":"6070:6:6","nodeType":"YulIdentifier","src":"6070:6:6"}]}]},{"nativeSrc":"6153:118:6","nodeType":"YulBlock","src":"6153:118:6","statements":[{"nativeSrc":"6168:16:6","nodeType":"YulVariableDeclaration","src":"6168:16:6","value":{"kind":"number","nativeSrc":"6182:2:6","nodeType":"YulLiteral","src":"6182:2:6","type":"","value":"32"},"variables":[{"name":"offset","nativeSrc":"6172:6:6","nodeType":"YulTypedName","src":"6172:6:6","type":""}]},{"nativeSrc":"6198:63:6","nodeType":"YulAssignment","src":"6198:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6233:9:6","nodeType":"YulIdentifier","src":"6233:9:6"},{"name":"offset","nativeSrc":"6244:6:6","nodeType":"YulIdentifier","src":"6244:6:6"}],"functionName":{"name":"add","nativeSrc":"6229:3:6","nodeType":"YulIdentifier","src":"6229:3:6"},"nativeSrc":"6229:22:6","nodeType":"YulFunctionCall","src":"6229:22:6"},{"name":"dataEnd","nativeSrc":"6253:7:6","nodeType":"YulIdentifier","src":"6253:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"6208:20:6","nodeType":"YulIdentifier","src":"6208:20:6"},"nativeSrc":"6208:53:6","nodeType":"YulFunctionCall","src":"6208:53:6"},"variableNames":[{"name":"value1","nativeSrc":"6198:6:6","nodeType":"YulIdentifier","src":"6198:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nativeSrc":"5804:474:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"5849:9:6","nodeType":"YulTypedName","src":"5849:9:6","type":""},{"name":"dataEnd","nativeSrc":"5860:7:6","nodeType":"YulTypedName","src":"5860:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"5872:6:6","nodeType":"YulTypedName","src":"5872:6:6","type":""},{"name":"value1","nativeSrc":"5880:6:6","nodeType":"YulTypedName","src":"5880:6:6","type":""}],"src":"5804:474:6"},{"body":{"nativeSrc":"6326:48:6","nodeType":"YulBlock","src":"6326:48:6","statements":[{"nativeSrc":"6336:32:6","nodeType":"YulAssignment","src":"6336:32:6","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"6361:5:6","nodeType":"YulIdentifier","src":"6361:5:6"}],"functionName":{"name":"iszero","nativeSrc":"6354:6:6","nodeType":"YulIdentifier","src":"6354:6:6"},"nativeSrc":"6354:13:6","nodeType":"YulFunctionCall","src":"6354:13:6"}],"functionName":{"name":"iszero","nativeSrc":"6347:6:6","nodeType":"YulIdentifier","src":"6347:6:6"},"nativeSrc":"6347:21:6","nodeType":"YulFunctionCall","src":"6347:21:6"},"variableNames":[{"name":"cleaned","nativeSrc":"6336:7:6","nodeType":"YulIdentifier","src":"6336:7:6"}]}]},"name":"cleanup_t_bool","nativeSrc":"6284:90:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"6308:5:6","nodeType":"YulTypedName","src":"6308:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"6318:7:6","nodeType":"YulTypedName","src":"6318:7:6","type":""}],"src":"6284:90:6"},{"body":{"nativeSrc":"6439:50:6","nodeType":"YulBlock","src":"6439:50:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"6456:3:6","nodeType":"YulIdentifier","src":"6456:3:6"},{"arguments":[{"name":"value","nativeSrc":"6476:5:6","nodeType":"YulIdentifier","src":"6476:5:6"}],"functionName":{"name":"cleanup_t_bool","nativeSrc":"6461:14:6","nodeType":"YulIdentifier","src":"6461:14:6"},"nativeSrc":"6461:21:6","nodeType":"YulFunctionCall","src":"6461:21:6"}],"functionName":{"name":"mstore","nativeSrc":"6449:6:6","nodeType":"YulIdentifier","src":"6449:6:6"},"nativeSrc":"6449:34:6","nodeType":"YulFunctionCall","src":"6449:34:6"},"nativeSrc":"6449:34:6","nodeType":"YulExpressionStatement","src":"6449:34:6"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"6380:109:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"6427:5:6","nodeType":"YulTypedName","src":"6427:5:6","type":""},{"name":"pos","nativeSrc":"6434:3:6","nodeType":"YulTypedName","src":"6434:3:6","type":""}],"src":"6380:109:6"},{"body":{"nativeSrc":"6587:118:6","nodeType":"YulBlock","src":"6587:118:6","statements":[{"nativeSrc":"6597:26:6","nodeType":"YulAssignment","src":"6597:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"6609:9:6","nodeType":"YulIdentifier","src":"6609:9:6"},{"kind":"number","nativeSrc":"6620:2:6","nodeType":"YulLiteral","src":"6620:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"6605:3:6","nodeType":"YulIdentifier","src":"6605:3:6"},"nativeSrc":"6605:18:6","nodeType":"YulFunctionCall","src":"6605:18:6"},"variableNames":[{"name":"tail","nativeSrc":"6597:4:6","nodeType":"YulIdentifier","src":"6597:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"6671:6:6","nodeType":"YulIdentifier","src":"6671:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"6684:9:6","nodeType":"YulIdentifier","src":"6684:9:6"},{"kind":"number","nativeSrc":"6695:1:6","nodeType":"YulLiteral","src":"6695:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"6680:3:6","nodeType":"YulIdentifier","src":"6680:3:6"},"nativeSrc":"6680:17:6","nodeType":"YulFunctionCall","src":"6680:17:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nativeSrc":"6633:37:6","nodeType":"YulIdentifier","src":"6633:37:6"},"nativeSrc":"6633:65:6","nodeType":"YulFunctionCall","src":"6633:65:6"},"nativeSrc":"6633:65:6","nodeType":"YulExpressionStatement","src":"6633:65:6"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nativeSrc":"6495:210:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6559:9:6","nodeType":"YulTypedName","src":"6559:9:6","type":""},{"name":"value0","nativeSrc":"6571:6:6","nodeType":"YulTypedName","src":"6571:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"6582:4:6","nodeType":"YulTypedName","src":"6582:4:6","type":""}],"src":"6495:210:6"},{"body":{"nativeSrc":"6777:263:6","nodeType":"YulBlock","src":"6777:263:6","statements":[{"body":{"nativeSrc":"6823:83:6","nodeType":"YulBlock","src":"6823:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"6825:77:6","nodeType":"YulIdentifier","src":"6825:77:6"},"nativeSrc":"6825:79:6","nodeType":"YulFunctionCall","src":"6825:79:6"},"nativeSrc":"6825:79:6","nodeType":"YulExpressionStatement","src":"6825:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"6798:7:6","nodeType":"YulIdentifier","src":"6798:7:6"},{"name":"headStart","nativeSrc":"6807:9:6","nodeType":"YulIdentifier","src":"6807:9:6"}],"functionName":{"name":"sub","nativeSrc":"6794:3:6","nodeType":"YulIdentifier","src":"6794:3:6"},"nativeSrc":"6794:23:6","nodeType":"YulFunctionCall","src":"6794:23:6"},{"kind":"number","nativeSrc":"6819:2:6","nodeType":"YulLiteral","src":"6819:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"6790:3:6","nodeType":"YulIdentifier","src":"6790:3:6"},"nativeSrc":"6790:32:6","nodeType":"YulFunctionCall","src":"6790:32:6"},"nativeSrc":"6787:119:6","nodeType":"YulIf","src":"6787:119:6"},{"nativeSrc":"6916:117:6","nodeType":"YulBlock","src":"6916:117:6","statements":[{"nativeSrc":"6931:15:6","nodeType":"YulVariableDeclaration","src":"6931:15:6","value":{"kind":"number","nativeSrc":"6945:1:6","nodeType":"YulLiteral","src":"6945:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"6935:6:6","nodeType":"YulTypedName","src":"6935:6:6","type":""}]},{"nativeSrc":"6960:63:6","nodeType":"YulAssignment","src":"6960:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"6995:9:6","nodeType":"YulIdentifier","src":"6995:9:6"},{"name":"offset","nativeSrc":"7006:6:6","nodeType":"YulIdentifier","src":"7006:6:6"}],"functionName":{"name":"add","nativeSrc":"6991:3:6","nodeType":"YulIdentifier","src":"6991:3:6"},"nativeSrc":"6991:22:6","nodeType":"YulFunctionCall","src":"6991:22:6"},{"name":"dataEnd","nativeSrc":"7015:7:6","nodeType":"YulIdentifier","src":"7015:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"6970:20:6","nodeType":"YulIdentifier","src":"6970:20:6"},"nativeSrc":"6970:53:6","nodeType":"YulFunctionCall","src":"6970:53:6"},"variableNames":[{"name":"value0","nativeSrc":"6960:6:6","nodeType":"YulIdentifier","src":"6960:6:6"}]}]}]},"name":"abi_decode_tuple_t_uint256","nativeSrc":"6711:329:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"6747:9:6","nodeType":"YulTypedName","src":"6747:9:6","type":""},{"name":"dataEnd","nativeSrc":"6758:7:6","nodeType":"YulTypedName","src":"6758:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"6770:6:6","nodeType":"YulTypedName","src":"6770:6:6","type":""}],"src":"6711:329:6"},{"body":{"nativeSrc":"7111:53:6","nodeType":"YulBlock","src":"7111:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"7128:3:6","nodeType":"YulIdentifier","src":"7128:3:6"},{"arguments":[{"name":"value","nativeSrc":"7151:5:6","nodeType":"YulIdentifier","src":"7151:5:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"7133:17:6","nodeType":"YulIdentifier","src":"7133:17:6"},"nativeSrc":"7133:24:6","nodeType":"YulFunctionCall","src":"7133:24:6"}],"functionName":{"name":"mstore","nativeSrc":"7121:6:6","nodeType":"YulIdentifier","src":"7121:6:6"},"nativeSrc":"7121:37:6","nodeType":"YulFunctionCall","src":"7121:37:6"},"nativeSrc":"7121:37:6","nodeType":"YulExpressionStatement","src":"7121:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"7046:118:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"7099:5:6","nodeType":"YulTypedName","src":"7099:5:6","type":""},{"name":"pos","nativeSrc":"7106:3:6","nodeType":"YulTypedName","src":"7106:3:6","type":""}],"src":"7046:118:6"},{"body":{"nativeSrc":"7233:52:6","nodeType":"YulBlock","src":"7233:52:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"7250:3:6","nodeType":"YulIdentifier","src":"7250:3:6"},{"arguments":[{"name":"value","nativeSrc":"7272:5:6","nodeType":"YulIdentifier","src":"7272:5:6"}],"functionName":{"name":"cleanup_t_int256","nativeSrc":"7255:16:6","nodeType":"YulIdentifier","src":"7255:16:6"},"nativeSrc":"7255:23:6","nodeType":"YulFunctionCall","src":"7255:23:6"}],"functionName":{"name":"mstore","nativeSrc":"7243:6:6","nodeType":"YulIdentifier","src":"7243:6:6"},"nativeSrc":"7243:36:6","nodeType":"YulFunctionCall","src":"7243:36:6"},"nativeSrc":"7243:36:6","nodeType":"YulExpressionStatement","src":"7243:36:6"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nativeSrc":"7170:115:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"7221:5:6","nodeType":"YulTypedName","src":"7221:5:6","type":""},{"name":"pos","nativeSrc":"7228:3:6","nodeType":"YulTypedName","src":"7228:3:6","type":""}],"src":"7170:115:6"},{"body":{"nativeSrc":"7356:53:6","nodeType":"YulBlock","src":"7356:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"7373:3:6","nodeType":"YulIdentifier","src":"7373:3:6"},{"arguments":[{"name":"value","nativeSrc":"7396:5:6","nodeType":"YulIdentifier","src":"7396:5:6"}],"functionName":{"name":"cleanup_t_address","nativeSrc":"7378:17:6","nodeType":"YulIdentifier","src":"7378:17:6"},"nativeSrc":"7378:24:6","nodeType":"YulFunctionCall","src":"7378:24:6"}],"functionName":{"name":"mstore","nativeSrc":"7366:6:6","nodeType":"YulIdentifier","src":"7366:6:6"},"nativeSrc":"7366:37:6","nodeType":"YulFunctionCall","src":"7366:37:6"},"nativeSrc":"7366:37:6","nodeType":"YulExpressionStatement","src":"7366:37:6"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"7291:118:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"7344:5:6","nodeType":"YulTypedName","src":"7344:5:6","type":""},{"name":"pos","nativeSrc":"7351:3:6","nodeType":"YulTypedName","src":"7351:3:6","type":""}],"src":"7291:118:6"},{"body":{"nativeSrc":"7643:523:6","nodeType":"YulBlock","src":"7643:523:6","statements":[{"nativeSrc":"7653:27:6","nodeType":"YulAssignment","src":"7653:27:6","value":{"arguments":[{"name":"headStart","nativeSrc":"7665:9:6","nodeType":"YulIdentifier","src":"7665:9:6"},{"kind":"number","nativeSrc":"7676:3:6","nodeType":"YulLiteral","src":"7676:3:6","type":"","value":"160"}],"functionName":{"name":"add","nativeSrc":"7661:3:6","nodeType":"YulIdentifier","src":"7661:3:6"},"nativeSrc":"7661:19:6","nodeType":"YulFunctionCall","src":"7661:19:6"},"variableNames":[{"name":"tail","nativeSrc":"7653:4:6","nodeType":"YulIdentifier","src":"7653:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"7734:6:6","nodeType":"YulIdentifier","src":"7734:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"7747:9:6","nodeType":"YulIdentifier","src":"7747:9:6"},{"kind":"number","nativeSrc":"7758:1:6","nodeType":"YulLiteral","src":"7758:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"7743:3:6","nodeType":"YulIdentifier","src":"7743:3:6"},"nativeSrc":"7743:17:6","nodeType":"YulFunctionCall","src":"7743:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"7690:43:6","nodeType":"YulIdentifier","src":"7690:43:6"},"nativeSrc":"7690:71:6","nodeType":"YulFunctionCall","src":"7690:71:6"},"nativeSrc":"7690:71:6","nodeType":"YulExpressionStatement","src":"7690:71:6"},{"expression":{"arguments":[{"name":"value1","nativeSrc":"7813:6:6","nodeType":"YulIdentifier","src":"7813:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"7826:9:6","nodeType":"YulIdentifier","src":"7826:9:6"},{"kind":"number","nativeSrc":"7837:2:6","nodeType":"YulLiteral","src":"7837:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"7822:3:6","nodeType":"YulIdentifier","src":"7822:3:6"},"nativeSrc":"7822:18:6","nodeType":"YulFunctionCall","src":"7822:18:6"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nativeSrc":"7771:41:6","nodeType":"YulIdentifier","src":"7771:41:6"},"nativeSrc":"7771:70:6","nodeType":"YulFunctionCall","src":"7771:70:6"},"nativeSrc":"7771:70:6","nodeType":"YulExpressionStatement","src":"7771:70:6"},{"expression":{"arguments":[{"name":"value2","nativeSrc":"7895:6:6","nodeType":"YulIdentifier","src":"7895:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"7908:9:6","nodeType":"YulIdentifier","src":"7908:9:6"},{"kind":"number","nativeSrc":"7919:2:6","nodeType":"YulLiteral","src":"7919:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"7904:3:6","nodeType":"YulIdentifier","src":"7904:3:6"},"nativeSrc":"7904:18:6","nodeType":"YulFunctionCall","src":"7904:18:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"7851:43:6","nodeType":"YulIdentifier","src":"7851:43:6"},"nativeSrc":"7851:72:6","nodeType":"YulFunctionCall","src":"7851:72:6"},"nativeSrc":"7851:72:6","nodeType":"YulExpressionStatement","src":"7851:72:6"},{"expression":{"arguments":[{"name":"value3","nativeSrc":"7977:6:6","nodeType":"YulIdentifier","src":"7977:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"7990:9:6","nodeType":"YulIdentifier","src":"7990:9:6"},{"kind":"number","nativeSrc":"8001:2:6","nodeType":"YulLiteral","src":"8001:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"7986:3:6","nodeType":"YulIdentifier","src":"7986:3:6"},"nativeSrc":"7986:18:6","nodeType":"YulFunctionCall","src":"7986:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"7933:43:6","nodeType":"YulIdentifier","src":"7933:43:6"},"nativeSrc":"7933:72:6","nodeType":"YulFunctionCall","src":"7933:72:6"},"nativeSrc":"7933:72:6","nodeType":"YulExpressionStatement","src":"7933:72:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8026:9:6","nodeType":"YulIdentifier","src":"8026:9:6"},{"kind":"number","nativeSrc":"8037:3:6","nodeType":"YulLiteral","src":"8037:3:6","type":"","value":"128"}],"functionName":{"name":"add","nativeSrc":"8022:3:6","nodeType":"YulIdentifier","src":"8022:3:6"},"nativeSrc":"8022:19:6","nodeType":"YulFunctionCall","src":"8022:19:6"},{"arguments":[{"name":"tail","nativeSrc":"8047:4:6","nodeType":"YulIdentifier","src":"8047:4:6"},{"name":"headStart","nativeSrc":"8053:9:6","nodeType":"YulIdentifier","src":"8053:9:6"}],"functionName":{"name":"sub","nativeSrc":"8043:3:6","nodeType":"YulIdentifier","src":"8043:3:6"},"nativeSrc":"8043:20:6","nodeType":"YulFunctionCall","src":"8043:20:6"}],"functionName":{"name":"mstore","nativeSrc":"8015:6:6","nodeType":"YulIdentifier","src":"8015:6:6"},"nativeSrc":"8015:49:6","nodeType":"YulFunctionCall","src":"8015:49:6"},"nativeSrc":"8015:49:6","nodeType":"YulExpressionStatement","src":"8015:49:6"},{"nativeSrc":"8073:86:6","nodeType":"YulAssignment","src":"8073:86:6","value":{"arguments":[{"name":"value4","nativeSrc":"8145:6:6","nodeType":"YulIdentifier","src":"8145:6:6"},{"name":"tail","nativeSrc":"8154:4:6","nodeType":"YulIdentifier","src":"8154:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"8081:63:6","nodeType":"YulIdentifier","src":"8081:63:6"},"nativeSrc":"8081:78:6","nodeType":"YulFunctionCall","src":"8081:78:6"},"variableNames":[{"name":"tail","nativeSrc":"8073:4:6","nodeType":"YulIdentifier","src":"8073:4:6"}]}]},"name":"abi_encode_tuple_t_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__to_t_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__fromStack_reversed","nativeSrc":"7415:751:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"7583:9:6","nodeType":"YulTypedName","src":"7583:9:6","type":""},{"name":"value4","nativeSrc":"7595:6:6","nodeType":"YulTypedName","src":"7595:6:6","type":""},{"name":"value3","nativeSrc":"7603:6:6","nodeType":"YulTypedName","src":"7603:6:6","type":""},{"name":"value2","nativeSrc":"7611:6:6","nodeType":"YulTypedName","src":"7611:6:6","type":""},{"name":"value1","nativeSrc":"7619:6:6","nodeType":"YulTypedName","src":"7619:6:6","type":""},{"name":"value0","nativeSrc":"7627:6:6","nodeType":"YulTypedName","src":"7627:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"7638:4:6","nodeType":"YulTypedName","src":"7638:4:6","type":""}],"src":"7415:751:6"},{"body":{"nativeSrc":"8270:124:6","nodeType":"YulBlock","src":"8270:124:6","statements":[{"nativeSrc":"8280:26:6","nodeType":"YulAssignment","src":"8280:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"8292:9:6","nodeType":"YulIdentifier","src":"8292:9:6"},{"kind":"number","nativeSrc":"8303:2:6","nodeType":"YulLiteral","src":"8303:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"8288:3:6","nodeType":"YulIdentifier","src":"8288:3:6"},"nativeSrc":"8288:18:6","nodeType":"YulFunctionCall","src":"8288:18:6"},"variableNames":[{"name":"tail","nativeSrc":"8280:4:6","nodeType":"YulIdentifier","src":"8280:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"8360:6:6","nodeType":"YulIdentifier","src":"8360:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"8373:9:6","nodeType":"YulIdentifier","src":"8373:9:6"},{"kind":"number","nativeSrc":"8384:1:6","nodeType":"YulLiteral","src":"8384:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"8369:3:6","nodeType":"YulIdentifier","src":"8369:3:6"},"nativeSrc":"8369:17:6","nodeType":"YulFunctionCall","src":"8369:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"8316:43:6","nodeType":"YulIdentifier","src":"8316:43:6"},"nativeSrc":"8316:71:6","nodeType":"YulFunctionCall","src":"8316:71:6"},"nativeSrc":"8316:71:6","nodeType":"YulExpressionStatement","src":"8316:71:6"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nativeSrc":"8172:222:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"8242:9:6","nodeType":"YulTypedName","src":"8242:9:6","type":""},{"name":"value0","nativeSrc":"8254:6:6","nodeType":"YulTypedName","src":"8254:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"8265:4:6","nodeType":"YulTypedName","src":"8265:4:6","type":""}],"src":"8172:222:6"},{"body":{"nativeSrc":"8500:519:6","nodeType":"YulBlock","src":"8500:519:6","statements":[{"body":{"nativeSrc":"8546:83:6","nodeType":"YulBlock","src":"8546:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"8548:77:6","nodeType":"YulIdentifier","src":"8548:77:6"},"nativeSrc":"8548:79:6","nodeType":"YulFunctionCall","src":"8548:79:6"},"nativeSrc":"8548:79:6","nodeType":"YulExpressionStatement","src":"8548:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"8521:7:6","nodeType":"YulIdentifier","src":"8521:7:6"},{"name":"headStart","nativeSrc":"8530:9:6","nodeType":"YulIdentifier","src":"8530:9:6"}],"functionName":{"name":"sub","nativeSrc":"8517:3:6","nodeType":"YulIdentifier","src":"8517:3:6"},"nativeSrc":"8517:23:6","nodeType":"YulFunctionCall","src":"8517:23:6"},{"kind":"number","nativeSrc":"8542:2:6","nodeType":"YulLiteral","src":"8542:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nativeSrc":"8513:3:6","nodeType":"YulIdentifier","src":"8513:3:6"},"nativeSrc":"8513:32:6","nodeType":"YulFunctionCall","src":"8513:32:6"},"nativeSrc":"8510:119:6","nodeType":"YulIf","src":"8510:119:6"},{"nativeSrc":"8639:117:6","nodeType":"YulBlock","src":"8639:117:6","statements":[{"nativeSrc":"8654:15:6","nodeType":"YulVariableDeclaration","src":"8654:15:6","value":{"kind":"number","nativeSrc":"8668:1:6","nodeType":"YulLiteral","src":"8668:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"8658:6:6","nodeType":"YulTypedName","src":"8658:6:6","type":""}]},{"nativeSrc":"8683:63:6","nodeType":"YulAssignment","src":"8683:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8718:9:6","nodeType":"YulIdentifier","src":"8718:9:6"},{"name":"offset","nativeSrc":"8729:6:6","nodeType":"YulIdentifier","src":"8729:6:6"}],"functionName":{"name":"add","nativeSrc":"8714:3:6","nodeType":"YulIdentifier","src":"8714:3:6"},"nativeSrc":"8714:22:6","nodeType":"YulFunctionCall","src":"8714:22:6"},{"name":"dataEnd","nativeSrc":"8738:7:6","nodeType":"YulIdentifier","src":"8738:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"8693:20:6","nodeType":"YulIdentifier","src":"8693:20:6"},"nativeSrc":"8693:53:6","nodeType":"YulFunctionCall","src":"8693:53:6"},"variableNames":[{"name":"value0","nativeSrc":"8683:6:6","nodeType":"YulIdentifier","src":"8683:6:6"}]}]},{"nativeSrc":"8766:118:6","nodeType":"YulBlock","src":"8766:118:6","statements":[{"nativeSrc":"8781:16:6","nodeType":"YulVariableDeclaration","src":"8781:16:6","value":{"kind":"number","nativeSrc":"8795:2:6","nodeType":"YulLiteral","src":"8795:2:6","type":"","value":"32"},"variables":[{"name":"offset","nativeSrc":"8785:6:6","nodeType":"YulTypedName","src":"8785:6:6","type":""}]},{"nativeSrc":"8811:63:6","nodeType":"YulAssignment","src":"8811:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8846:9:6","nodeType":"YulIdentifier","src":"8846:9:6"},{"name":"offset","nativeSrc":"8857:6:6","nodeType":"YulIdentifier","src":"8857:6:6"}],"functionName":{"name":"add","nativeSrc":"8842:3:6","nodeType":"YulIdentifier","src":"8842:3:6"},"nativeSrc":"8842:22:6","nodeType":"YulFunctionCall","src":"8842:22:6"},{"name":"dataEnd","nativeSrc":"8866:7:6","nodeType":"YulIdentifier","src":"8866:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"8821:20:6","nodeType":"YulIdentifier","src":"8821:20:6"},"nativeSrc":"8821:53:6","nodeType":"YulFunctionCall","src":"8821:53:6"},"variableNames":[{"name":"value1","nativeSrc":"8811:6:6","nodeType":"YulIdentifier","src":"8811:6:6"}]}]},{"nativeSrc":"8894:118:6","nodeType":"YulBlock","src":"8894:118:6","statements":[{"nativeSrc":"8909:16:6","nodeType":"YulVariableDeclaration","src":"8909:16:6","value":{"kind":"number","nativeSrc":"8923:2:6","nodeType":"YulLiteral","src":"8923:2:6","type":"","value":"64"},"variables":[{"name":"offset","nativeSrc":"8913:6:6","nodeType":"YulTypedName","src":"8913:6:6","type":""}]},{"nativeSrc":"8939:63:6","nodeType":"YulAssignment","src":"8939:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"8974:9:6","nodeType":"YulIdentifier","src":"8974:9:6"},{"name":"offset","nativeSrc":"8985:6:6","nodeType":"YulIdentifier","src":"8985:6:6"}],"functionName":{"name":"add","nativeSrc":"8970:3:6","nodeType":"YulIdentifier","src":"8970:3:6"},"nativeSrc":"8970:22:6","nodeType":"YulFunctionCall","src":"8970:22:6"},{"name":"dataEnd","nativeSrc":"8994:7:6","nodeType":"YulIdentifier","src":"8994:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nativeSrc":"8949:20:6","nodeType":"YulIdentifier","src":"8949:20:6"},"nativeSrc":"8949:53:6","nodeType":"YulFunctionCall","src":"8949:53:6"},"variableNames":[{"name":"value2","nativeSrc":"8939:6:6","nodeType":"YulIdentifier","src":"8939:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nativeSrc":"8400:619:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"8454:9:6","nodeType":"YulTypedName","src":"8454:9:6","type":""},{"name":"dataEnd","nativeSrc":"8465:7:6","nodeType":"YulTypedName","src":"8465:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"8477:6:6","nodeType":"YulTypedName","src":"8477:6:6","type":""},{"name":"value1","nativeSrc":"8485:6:6","nodeType":"YulTypedName","src":"8485:6:6","type":""},{"name":"value2","nativeSrc":"8493:6:6","nodeType":"YulTypedName","src":"8493:6:6","type":""}],"src":"8400:619:6"},{"body":{"nativeSrc":"9068:43:6","nodeType":"YulBlock","src":"9068:43:6","statements":[{"nativeSrc":"9078:27:6","nodeType":"YulAssignment","src":"9078:27:6","value":{"arguments":[{"name":"value","nativeSrc":"9093:5:6","nodeType":"YulIdentifier","src":"9093:5:6"},{"kind":"number","nativeSrc":"9100:4:6","nodeType":"YulLiteral","src":"9100:4:6","type":"","value":"0xff"}],"functionName":{"name":"and","nativeSrc":"9089:3:6","nodeType":"YulIdentifier","src":"9089:3:6"},"nativeSrc":"9089:16:6","nodeType":"YulFunctionCall","src":"9089:16:6"},"variableNames":[{"name":"cleaned","nativeSrc":"9078:7:6","nodeType":"YulIdentifier","src":"9078:7:6"}]}]},"name":"cleanup_t_uint8","nativeSrc":"9025:86:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"9050:5:6","nodeType":"YulTypedName","src":"9050:5:6","type":""}],"returnVariables":[{"name":"cleaned","nativeSrc":"9060:7:6","nodeType":"YulTypedName","src":"9060:7:6","type":""}],"src":"9025:86:6"},{"body":{"nativeSrc":"9178:51:6","nodeType":"YulBlock","src":"9178:51:6","statements":[{"expression":{"arguments":[{"name":"pos","nativeSrc":"9195:3:6","nodeType":"YulIdentifier","src":"9195:3:6"},{"arguments":[{"name":"value","nativeSrc":"9216:5:6","nodeType":"YulIdentifier","src":"9216:5:6"}],"functionName":{"name":"cleanup_t_uint8","nativeSrc":"9200:15:6","nodeType":"YulIdentifier","src":"9200:15:6"},"nativeSrc":"9200:22:6","nodeType":"YulFunctionCall","src":"9200:22:6"}],"functionName":{"name":"mstore","nativeSrc":"9188:6:6","nodeType":"YulIdentifier","src":"9188:6:6"},"nativeSrc":"9188:35:6","nodeType":"YulFunctionCall","src":"9188:35:6"},"nativeSrc":"9188:35:6","nodeType":"YulExpressionStatement","src":"9188:35:6"}]},"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nativeSrc":"9117:112:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"9166:5:6","nodeType":"YulTypedName","src":"9166:5:6","type":""},{"name":"pos","nativeSrc":"9173:3:6","nodeType":"YulTypedName","src":"9173:3:6","type":""}],"src":"9117:112:6"},{"body":{"nativeSrc":"9329:120:6","nodeType":"YulBlock","src":"9329:120:6","statements":[{"nativeSrc":"9339:26:6","nodeType":"YulAssignment","src":"9339:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"9351:9:6","nodeType":"YulIdentifier","src":"9351:9:6"},{"kind":"number","nativeSrc":"9362:2:6","nodeType":"YulLiteral","src":"9362:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9347:3:6","nodeType":"YulIdentifier","src":"9347:3:6"},"nativeSrc":"9347:18:6","nodeType":"YulFunctionCall","src":"9347:18:6"},"variableNames":[{"name":"tail","nativeSrc":"9339:4:6","nodeType":"YulIdentifier","src":"9339:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"9415:6:6","nodeType":"YulIdentifier","src":"9415:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"9428:9:6","nodeType":"YulIdentifier","src":"9428:9:6"},{"kind":"number","nativeSrc":"9439:1:6","nodeType":"YulLiteral","src":"9439:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"9424:3:6","nodeType":"YulIdentifier","src":"9424:3:6"},"nativeSrc":"9424:17:6","nodeType":"YulFunctionCall","src":"9424:17:6"}],"functionName":{"name":"abi_encode_t_uint8_to_t_uint8_fromStack","nativeSrc":"9375:39:6","nodeType":"YulIdentifier","src":"9375:39:6"},"nativeSrc":"9375:67:6","nodeType":"YulFunctionCall","src":"9375:67:6"},"nativeSrc":"9375:67:6","nodeType":"YulExpressionStatement","src":"9375:67:6"}]},"name":"abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed","nativeSrc":"9235:214:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9301:9:6","nodeType":"YulTypedName","src":"9301:9:6","type":""},{"name":"value0","nativeSrc":"9313:6:6","nodeType":"YulTypedName","src":"9313:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9324:4:6","nodeType":"YulTypedName","src":"9324:4:6","type":""}],"src":"9235:214:6"},{"body":{"nativeSrc":"9521:263:6","nodeType":"YulBlock","src":"9521:263:6","statements":[{"body":{"nativeSrc":"9567:83:6","nodeType":"YulBlock","src":"9567:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"9569:77:6","nodeType":"YulIdentifier","src":"9569:77:6"},"nativeSrc":"9569:79:6","nodeType":"YulFunctionCall","src":"9569:79:6"},"nativeSrc":"9569:79:6","nodeType":"YulExpressionStatement","src":"9569:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"9542:7:6","nodeType":"YulIdentifier","src":"9542:7:6"},{"name":"headStart","nativeSrc":"9551:9:6","nodeType":"YulIdentifier","src":"9551:9:6"}],"functionName":{"name":"sub","nativeSrc":"9538:3:6","nodeType":"YulIdentifier","src":"9538:3:6"},"nativeSrc":"9538:23:6","nodeType":"YulFunctionCall","src":"9538:23:6"},{"kind":"number","nativeSrc":"9563:2:6","nodeType":"YulLiteral","src":"9563:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nativeSrc":"9534:3:6","nodeType":"YulIdentifier","src":"9534:3:6"},"nativeSrc":"9534:32:6","nodeType":"YulFunctionCall","src":"9534:32:6"},"nativeSrc":"9531:119:6","nodeType":"YulIf","src":"9531:119:6"},{"nativeSrc":"9660:117:6","nodeType":"YulBlock","src":"9660:117:6","statements":[{"nativeSrc":"9675:15:6","nodeType":"YulVariableDeclaration","src":"9675:15:6","value":{"kind":"number","nativeSrc":"9689:1:6","nodeType":"YulLiteral","src":"9689:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"9679:6:6","nodeType":"YulTypedName","src":"9679:6:6","type":""}]},{"nativeSrc":"9704:63:6","nodeType":"YulAssignment","src":"9704:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"9739:9:6","nodeType":"YulIdentifier","src":"9739:9:6"},{"name":"offset","nativeSrc":"9750:6:6","nodeType":"YulIdentifier","src":"9750:6:6"}],"functionName":{"name":"add","nativeSrc":"9735:3:6","nodeType":"YulIdentifier","src":"9735:3:6"},"nativeSrc":"9735:22:6","nodeType":"YulFunctionCall","src":"9735:22:6"},{"name":"dataEnd","nativeSrc":"9759:7:6","nodeType":"YulIdentifier","src":"9759:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"9714:20:6","nodeType":"YulIdentifier","src":"9714:20:6"},"nativeSrc":"9714:53:6","nodeType":"YulFunctionCall","src":"9714:53:6"},"variableNames":[{"name":"value0","nativeSrc":"9704:6:6","nodeType":"YulIdentifier","src":"9704:6:6"}]}]}]},"name":"abi_decode_tuple_t_address","nativeSrc":"9455:329:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9491:9:6","nodeType":"YulTypedName","src":"9491:9:6","type":""},{"name":"dataEnd","nativeSrc":"9502:7:6","nodeType":"YulTypedName","src":"9502:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"9514:6:6","nodeType":"YulTypedName","src":"9514:6:6","type":""}],"src":"9455:329:6"},{"body":{"nativeSrc":"9888:124:6","nodeType":"YulBlock","src":"9888:124:6","statements":[{"nativeSrc":"9898:26:6","nodeType":"YulAssignment","src":"9898:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"9910:9:6","nodeType":"YulIdentifier","src":"9910:9:6"},{"kind":"number","nativeSrc":"9921:2:6","nodeType":"YulLiteral","src":"9921:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9906:3:6","nodeType":"YulIdentifier","src":"9906:3:6"},"nativeSrc":"9906:18:6","nodeType":"YulFunctionCall","src":"9906:18:6"},"variableNames":[{"name":"tail","nativeSrc":"9898:4:6","nodeType":"YulIdentifier","src":"9898:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"9978:6:6","nodeType":"YulIdentifier","src":"9978:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"9991:9:6","nodeType":"YulIdentifier","src":"9991:9:6"},{"kind":"number","nativeSrc":"10002:1:6","nodeType":"YulLiteral","src":"10002:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"9987:3:6","nodeType":"YulIdentifier","src":"9987:3:6"},"nativeSrc":"9987:17:6","nodeType":"YulFunctionCall","src":"9987:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"9934:43:6","nodeType":"YulIdentifier","src":"9934:43:6"},"nativeSrc":"9934:71:6","nodeType":"YulFunctionCall","src":"9934:71:6"},"nativeSrc":"9934:71:6","nodeType":"YulExpressionStatement","src":"9934:71:6"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nativeSrc":"9790:222:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"9860:9:6","nodeType":"YulTypedName","src":"9860:9:6","type":""},{"name":"value0","nativeSrc":"9872:6:6","nodeType":"YulTypedName","src":"9872:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"9883:4:6","nodeType":"YulTypedName","src":"9883:4:6","type":""}],"src":"9790:222:6"},{"body":{"nativeSrc":"10101:391:6","nodeType":"YulBlock","src":"10101:391:6","statements":[{"body":{"nativeSrc":"10147:83:6","nodeType":"YulBlock","src":"10147:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nativeSrc":"10149:77:6","nodeType":"YulIdentifier","src":"10149:77:6"},"nativeSrc":"10149:79:6","nodeType":"YulFunctionCall","src":"10149:79:6"},"nativeSrc":"10149:79:6","nodeType":"YulExpressionStatement","src":"10149:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nativeSrc":"10122:7:6","nodeType":"YulIdentifier","src":"10122:7:6"},{"name":"headStart","nativeSrc":"10131:9:6","nodeType":"YulIdentifier","src":"10131:9:6"}],"functionName":{"name":"sub","nativeSrc":"10118:3:6","nodeType":"YulIdentifier","src":"10118:3:6"},"nativeSrc":"10118:23:6","nodeType":"YulFunctionCall","src":"10118:23:6"},{"kind":"number","nativeSrc":"10143:2:6","nodeType":"YulLiteral","src":"10143:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nativeSrc":"10114:3:6","nodeType":"YulIdentifier","src":"10114:3:6"},"nativeSrc":"10114:32:6","nodeType":"YulFunctionCall","src":"10114:32:6"},"nativeSrc":"10111:119:6","nodeType":"YulIf","src":"10111:119:6"},{"nativeSrc":"10240:117:6","nodeType":"YulBlock","src":"10240:117:6","statements":[{"nativeSrc":"10255:15:6","nodeType":"YulVariableDeclaration","src":"10255:15:6","value":{"kind":"number","nativeSrc":"10269:1:6","nodeType":"YulLiteral","src":"10269:1:6","type":"","value":"0"},"variables":[{"name":"offset","nativeSrc":"10259:6:6","nodeType":"YulTypedName","src":"10259:6:6","type":""}]},{"nativeSrc":"10284:63:6","nodeType":"YulAssignment","src":"10284:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10319:9:6","nodeType":"YulIdentifier","src":"10319:9:6"},{"name":"offset","nativeSrc":"10330:6:6","nodeType":"YulIdentifier","src":"10330:6:6"}],"functionName":{"name":"add","nativeSrc":"10315:3:6","nodeType":"YulIdentifier","src":"10315:3:6"},"nativeSrc":"10315:22:6","nodeType":"YulFunctionCall","src":"10315:22:6"},{"name":"dataEnd","nativeSrc":"10339:7:6","nodeType":"YulIdentifier","src":"10339:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"10294:20:6","nodeType":"YulIdentifier","src":"10294:20:6"},"nativeSrc":"10294:53:6","nodeType":"YulFunctionCall","src":"10294:53:6"},"variableNames":[{"name":"value0","nativeSrc":"10284:6:6","nodeType":"YulIdentifier","src":"10284:6:6"}]}]},{"nativeSrc":"10367:118:6","nodeType":"YulBlock","src":"10367:118:6","statements":[{"nativeSrc":"10382:16:6","nodeType":"YulVariableDeclaration","src":"10382:16:6","value":{"kind":"number","nativeSrc":"10396:2:6","nodeType":"YulLiteral","src":"10396:2:6","type":"","value":"32"},"variables":[{"name":"offset","nativeSrc":"10386:6:6","nodeType":"YulTypedName","src":"10386:6:6","type":""}]},{"nativeSrc":"10412:63:6","nodeType":"YulAssignment","src":"10412:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"10447:9:6","nodeType":"YulIdentifier","src":"10447:9:6"},{"name":"offset","nativeSrc":"10458:6:6","nodeType":"YulIdentifier","src":"10458:6:6"}],"functionName":{"name":"add","nativeSrc":"10443:3:6","nodeType":"YulIdentifier","src":"10443:3:6"},"nativeSrc":"10443:22:6","nodeType":"YulFunctionCall","src":"10443:22:6"},{"name":"dataEnd","nativeSrc":"10467:7:6","nodeType":"YulIdentifier","src":"10467:7:6"}],"functionName":{"name":"abi_decode_t_address","nativeSrc":"10422:20:6","nodeType":"YulIdentifier","src":"10422:20:6"},"nativeSrc":"10422:53:6","nodeType":"YulFunctionCall","src":"10422:53:6"},"variableNames":[{"name":"value1","nativeSrc":"10412:6:6","nodeType":"YulIdentifier","src":"10412:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_address","nativeSrc":"10018:474:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"10063:9:6","nodeType":"YulTypedName","src":"10063:9:6","type":""},{"name":"dataEnd","nativeSrc":"10074:7:6","nodeType":"YulTypedName","src":"10074:7:6","type":""}],"returnVariables":[{"name":"value0","nativeSrc":"10086:6:6","nodeType":"YulTypedName","src":"10086:6:6","type":""},{"name":"value1","nativeSrc":"10094:6:6","nodeType":"YulTypedName","src":"10094:6:6","type":""}],"src":"10018:474:6"},{"body":{"nativeSrc":"10604:66:6","nodeType":"YulBlock","src":"10604:66:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nativeSrc":"10626:6:6","nodeType":"YulIdentifier","src":"10626:6:6"},{"kind":"number","nativeSrc":"10634:1:6","nodeType":"YulLiteral","src":"10634:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"10622:3:6","nodeType":"YulIdentifier","src":"10622:3:6"},"nativeSrc":"10622:14:6","nodeType":"YulFunctionCall","src":"10622:14:6"},{"hexValue":"5461736b20616c726561647920636f6d706c65746564","kind":"string","nativeSrc":"10638:24:6","nodeType":"YulLiteral","src":"10638:24:6","type":"","value":"Task already completed"}],"functionName":{"name":"mstore","nativeSrc":"10615:6:6","nodeType":"YulIdentifier","src":"10615:6:6"},"nativeSrc":"10615:48:6","nodeType":"YulFunctionCall","src":"10615:48:6"},"nativeSrc":"10615:48:6","nodeType":"YulExpressionStatement","src":"10615:48:6"}]},"name":"store_literal_in_memory_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3","nativeSrc":"10498:172:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nativeSrc":"10596:6:6","nodeType":"YulTypedName","src":"10596:6:6","type":""}],"src":"10498:172:6"},{"body":{"nativeSrc":"10822:220:6","nodeType":"YulBlock","src":"10822:220:6","statements":[{"nativeSrc":"10832:74:6","nodeType":"YulAssignment","src":"10832:74:6","value":{"arguments":[{"name":"pos","nativeSrc":"10898:3:6","nodeType":"YulIdentifier","src":"10898:3:6"},{"kind":"number","nativeSrc":"10903:2:6","nodeType":"YulLiteral","src":"10903:2:6","type":"","value":"22"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nativeSrc":"10839:58:6","nodeType":"YulIdentifier","src":"10839:58:6"},"nativeSrc":"10839:67:6","nodeType":"YulFunctionCall","src":"10839:67:6"},"variableNames":[{"name":"pos","nativeSrc":"10832:3:6","nodeType":"YulIdentifier","src":"10832:3:6"}]},{"expression":{"arguments":[{"name":"pos","nativeSrc":"11004:3:6","nodeType":"YulIdentifier","src":"11004:3:6"}],"functionName":{"name":"store_literal_in_memory_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3","nativeSrc":"10915:88:6","nodeType":"YulIdentifier","src":"10915:88:6"},"nativeSrc":"10915:93:6","nodeType":"YulFunctionCall","src":"10915:93:6"},"nativeSrc":"10915:93:6","nodeType":"YulExpressionStatement","src":"10915:93:6"},{"nativeSrc":"11017:19:6","nodeType":"YulAssignment","src":"11017:19:6","value":{"arguments":[{"name":"pos","nativeSrc":"11028:3:6","nodeType":"YulIdentifier","src":"11028:3:6"},{"kind":"number","nativeSrc":"11033:2:6","nodeType":"YulLiteral","src":"11033:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11024:3:6","nodeType":"YulIdentifier","src":"11024:3:6"},"nativeSrc":"11024:12:6","nodeType":"YulFunctionCall","src":"11024:12:6"},"variableNames":[{"name":"end","nativeSrc":"11017:3:6","nodeType":"YulIdentifier","src":"11017:3:6"}]}]},"name":"abi_encode_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3_to_t_string_memory_ptr_fromStack","nativeSrc":"10676:366:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nativeSrc":"10810:3:6","nodeType":"YulTypedName","src":"10810:3:6","type":""}],"returnVariables":[{"name":"end","nativeSrc":"10818:3:6","nodeType":"YulTypedName","src":"10818:3:6","type":""}],"src":"10676:366:6"},{"body":{"nativeSrc":"11219:248:6","nodeType":"YulBlock","src":"11219:248:6","statements":[{"nativeSrc":"11229:26:6","nodeType":"YulAssignment","src":"11229:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"11241:9:6","nodeType":"YulIdentifier","src":"11241:9:6"},{"kind":"number","nativeSrc":"11252:2:6","nodeType":"YulLiteral","src":"11252:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"11237:3:6","nodeType":"YulIdentifier","src":"11237:3:6"},"nativeSrc":"11237:18:6","nodeType":"YulFunctionCall","src":"11237:18:6"},"variableNames":[{"name":"tail","nativeSrc":"11229:4:6","nodeType":"YulIdentifier","src":"11229:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"11276:9:6","nodeType":"YulIdentifier","src":"11276:9:6"},{"kind":"number","nativeSrc":"11287:1:6","nodeType":"YulLiteral","src":"11287:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"11272:3:6","nodeType":"YulIdentifier","src":"11272:3:6"},"nativeSrc":"11272:17:6","nodeType":"YulFunctionCall","src":"11272:17:6"},{"arguments":[{"name":"tail","nativeSrc":"11295:4:6","nodeType":"YulIdentifier","src":"11295:4:6"},{"name":"headStart","nativeSrc":"11301:9:6","nodeType":"YulIdentifier","src":"11301:9:6"}],"functionName":{"name":"sub","nativeSrc":"11291:3:6","nodeType":"YulIdentifier","src":"11291:3:6"},"nativeSrc":"11291:20:6","nodeType":"YulFunctionCall","src":"11291:20:6"}],"functionName":{"name":"mstore","nativeSrc":"11265:6:6","nodeType":"YulIdentifier","src":"11265:6:6"},"nativeSrc":"11265:47:6","nodeType":"YulFunctionCall","src":"11265:47:6"},"nativeSrc":"11265:47:6","nodeType":"YulExpressionStatement","src":"11265:47:6"},{"nativeSrc":"11321:139:6","nodeType":"YulAssignment","src":"11321:139:6","value":{"arguments":[{"name":"tail","nativeSrc":"11455:4:6","nodeType":"YulIdentifier","src":"11455:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3_to_t_string_memory_ptr_fromStack","nativeSrc":"11329:124:6","nodeType":"YulIdentifier","src":"11329:124:6"},"nativeSrc":"11329:131:6","nodeType":"YulFunctionCall","src":"11329:131:6"},"variableNames":[{"name":"tail","nativeSrc":"11321:4:6","nodeType":"YulIdentifier","src":"11321:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3__to_t_string_memory_ptr__fromStack_reversed","nativeSrc":"11048:419:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"11199:9:6","nodeType":"YulTypedName","src":"11199:9:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"11214:4:6","nodeType":"YulTypedName","src":"11214:4:6","type":""}],"src":"11048:419:6"},{"body":{"nativeSrc":"11501:152:6","nodeType":"YulBlock","src":"11501:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"11518:1:6","nodeType":"YulLiteral","src":"11518:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"11521:77:6","nodeType":"YulLiteral","src":"11521:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"11511:6:6","nodeType":"YulIdentifier","src":"11511:6:6"},"nativeSrc":"11511:88:6","nodeType":"YulFunctionCall","src":"11511:88:6"},"nativeSrc":"11511:88:6","nodeType":"YulExpressionStatement","src":"11511:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11615:1:6","nodeType":"YulLiteral","src":"11615:1:6","type":"","value":"4"},{"kind":"number","nativeSrc":"11618:4:6","nodeType":"YulLiteral","src":"11618:4:6","type":"","value":"0x22"}],"functionName":{"name":"mstore","nativeSrc":"11608:6:6","nodeType":"YulIdentifier","src":"11608:6:6"},"nativeSrc":"11608:15:6","nodeType":"YulFunctionCall","src":"11608:15:6"},"nativeSrc":"11608:15:6","nodeType":"YulExpressionStatement","src":"11608:15:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"11639:1:6","nodeType":"YulLiteral","src":"11639:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"11642:4:6","nodeType":"YulLiteral","src":"11642:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"11632:6:6","nodeType":"YulIdentifier","src":"11632:6:6"},"nativeSrc":"11632:15:6","nodeType":"YulFunctionCall","src":"11632:15:6"},"nativeSrc":"11632:15:6","nodeType":"YulExpressionStatement","src":"11632:15:6"}]},"name":"panic_error_0x22","nativeSrc":"11473:180:6","nodeType":"YulFunctionDefinition","src":"11473:180:6"},{"body":{"nativeSrc":"11710:269:6","nodeType":"YulBlock","src":"11710:269:6","statements":[{"nativeSrc":"11720:22:6","nodeType":"YulAssignment","src":"11720:22:6","value":{"arguments":[{"name":"data","nativeSrc":"11734:4:6","nodeType":"YulIdentifier","src":"11734:4:6"},{"kind":"number","nativeSrc":"11740:1:6","nodeType":"YulLiteral","src":"11740:1:6","type":"","value":"2"}],"functionName":{"name":"div","nativeSrc":"11730:3:6","nodeType":"YulIdentifier","src":"11730:3:6"},"nativeSrc":"11730:12:6","nodeType":"YulFunctionCall","src":"11730:12:6"},"variableNames":[{"name":"length","nativeSrc":"11720:6:6","nodeType":"YulIdentifier","src":"11720:6:6"}]},{"nativeSrc":"11751:38:6","nodeType":"YulVariableDeclaration","src":"11751:38:6","value":{"arguments":[{"name":"data","nativeSrc":"11781:4:6","nodeType":"YulIdentifier","src":"11781:4:6"},{"kind":"number","nativeSrc":"11787:1:6","nodeType":"YulLiteral","src":"11787:1:6","type":"","value":"1"}],"functionName":{"name":"and","nativeSrc":"11777:3:6","nodeType":"YulIdentifier","src":"11777:3:6"},"nativeSrc":"11777:12:6","nodeType":"YulFunctionCall","src":"11777:12:6"},"variables":[{"name":"outOfPlaceEncoding","nativeSrc":"11755:18:6","nodeType":"YulTypedName","src":"11755:18:6","type":""}]},{"body":{"nativeSrc":"11828:51:6","nodeType":"YulBlock","src":"11828:51:6","statements":[{"nativeSrc":"11842:27:6","nodeType":"YulAssignment","src":"11842:27:6","value":{"arguments":[{"name":"length","nativeSrc":"11856:6:6","nodeType":"YulIdentifier","src":"11856:6:6"},{"kind":"number","nativeSrc":"11864:4:6","nodeType":"YulLiteral","src":"11864:4:6","type":"","value":"0x7f"}],"functionName":{"name":"and","nativeSrc":"11852:3:6","nodeType":"YulIdentifier","src":"11852:3:6"},"nativeSrc":"11852:17:6","nodeType":"YulFunctionCall","src":"11852:17:6"},"variableNames":[{"name":"length","nativeSrc":"11842:6:6","nodeType":"YulIdentifier","src":"11842:6:6"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"11808:18:6","nodeType":"YulIdentifier","src":"11808:18:6"}],"functionName":{"name":"iszero","nativeSrc":"11801:6:6","nodeType":"YulIdentifier","src":"11801:6:6"},"nativeSrc":"11801:26:6","nodeType":"YulFunctionCall","src":"11801:26:6"},"nativeSrc":"11798:81:6","nodeType":"YulIf","src":"11798:81:6"},{"body":{"nativeSrc":"11931:42:6","nodeType":"YulBlock","src":"11931:42:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nativeSrc":"11945:16:6","nodeType":"YulIdentifier","src":"11945:16:6"},"nativeSrc":"11945:18:6","nodeType":"YulFunctionCall","src":"11945:18:6"},"nativeSrc":"11945:18:6","nodeType":"YulExpressionStatement","src":"11945:18:6"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nativeSrc":"11895:18:6","nodeType":"YulIdentifier","src":"11895:18:6"},{"arguments":[{"name":"length","nativeSrc":"11918:6:6","nodeType":"YulIdentifier","src":"11918:6:6"},{"kind":"number","nativeSrc":"11926:2:6","nodeType":"YulLiteral","src":"11926:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"11915:2:6","nodeType":"YulIdentifier","src":"11915:2:6"},"nativeSrc":"11915:14:6","nodeType":"YulFunctionCall","src":"11915:14:6"}],"functionName":{"name":"eq","nativeSrc":"11892:2:6","nodeType":"YulIdentifier","src":"11892:2:6"},"nativeSrc":"11892:38:6","nodeType":"YulFunctionCall","src":"11892:38:6"},"nativeSrc":"11889:84:6","nodeType":"YulIf","src":"11889:84:6"}]},"name":"extract_byte_array_length","nativeSrc":"11659:320:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"11694:4:6","nodeType":"YulTypedName","src":"11694:4:6","type":""}],"returnVariables":[{"name":"length","nativeSrc":"11703:6:6","nodeType":"YulTypedName","src":"11703:6:6","type":""}],"src":"11659:320:6"},{"body":{"nativeSrc":"12039:87:6","nodeType":"YulBlock","src":"12039:87:6","statements":[{"nativeSrc":"12049:11:6","nodeType":"YulAssignment","src":"12049:11:6","value":{"name":"ptr","nativeSrc":"12057:3:6","nodeType":"YulIdentifier","src":"12057:3:6"},"variableNames":[{"name":"data","nativeSrc":"12049:4:6","nodeType":"YulIdentifier","src":"12049:4:6"}]},{"expression":{"arguments":[{"kind":"number","nativeSrc":"12077:1:6","nodeType":"YulLiteral","src":"12077:1:6","type":"","value":"0"},{"name":"ptr","nativeSrc":"12080:3:6","nodeType":"YulIdentifier","src":"12080:3:6"}],"functionName":{"name":"mstore","nativeSrc":"12070:6:6","nodeType":"YulIdentifier","src":"12070:6:6"},"nativeSrc":"12070:14:6","nodeType":"YulFunctionCall","src":"12070:14:6"},"nativeSrc":"12070:14:6","nodeType":"YulExpressionStatement","src":"12070:14:6"},{"nativeSrc":"12093:26:6","nodeType":"YulAssignment","src":"12093:26:6","value":{"arguments":[{"kind":"number","nativeSrc":"12111:1:6","nodeType":"YulLiteral","src":"12111:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"12114:4:6","nodeType":"YulLiteral","src":"12114:4:6","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"12101:9:6","nodeType":"YulIdentifier","src":"12101:9:6"},"nativeSrc":"12101:18:6","nodeType":"YulFunctionCall","src":"12101:18:6"},"variableNames":[{"name":"data","nativeSrc":"12093:4:6","nodeType":"YulIdentifier","src":"12093:4:6"}]}]},"name":"array_dataslot_t_string_storage","nativeSrc":"11985:141:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nativeSrc":"12026:3:6","nodeType":"YulTypedName","src":"12026:3:6","type":""}],"returnVariables":[{"name":"data","nativeSrc":"12034:4:6","nodeType":"YulTypedName","src":"12034:4:6","type":""}],"src":"11985:141:6"},{"body":{"nativeSrc":"12176:49:6","nodeType":"YulBlock","src":"12176:49:6","statements":[{"nativeSrc":"12186:33:6","nodeType":"YulAssignment","src":"12186:33:6","value":{"arguments":[{"arguments":[{"name":"value","nativeSrc":"12204:5:6","nodeType":"YulIdentifier","src":"12204:5:6"},{"kind":"number","nativeSrc":"12211:2:6","nodeType":"YulLiteral","src":"12211:2:6","type":"","value":"31"}],"functionName":{"name":"add","nativeSrc":"12200:3:6","nodeType":"YulIdentifier","src":"12200:3:6"},"nativeSrc":"12200:14:6","nodeType":"YulFunctionCall","src":"12200:14:6"},{"kind":"number","nativeSrc":"12216:2:6","nodeType":"YulLiteral","src":"12216:2:6","type":"","value":"32"}],"functionName":{"name":"div","nativeSrc":"12196:3:6","nodeType":"YulIdentifier","src":"12196:3:6"},"nativeSrc":"12196:23:6","nodeType":"YulFunctionCall","src":"12196:23:6"},"variableNames":[{"name":"result","nativeSrc":"12186:6:6","nodeType":"YulIdentifier","src":"12186:6:6"}]}]},"name":"divide_by_32_ceil","nativeSrc":"12132:93:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"12159:5:6","nodeType":"YulTypedName","src":"12159:5:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"12169:6:6","nodeType":"YulTypedName","src":"12169:6:6","type":""}],"src":"12132:93:6"},{"body":{"nativeSrc":"12284:54:6","nodeType":"YulBlock","src":"12284:54:6","statements":[{"nativeSrc":"12294:37:6","nodeType":"YulAssignment","src":"12294:37:6","value":{"arguments":[{"name":"bits","nativeSrc":"12319:4:6","nodeType":"YulIdentifier","src":"12319:4:6"},{"name":"value","nativeSrc":"12325:5:6","nodeType":"YulIdentifier","src":"12325:5:6"}],"functionName":{"name":"shl","nativeSrc":"12315:3:6","nodeType":"YulIdentifier","src":"12315:3:6"},"nativeSrc":"12315:16:6","nodeType":"YulFunctionCall","src":"12315:16:6"},"variableNames":[{"name":"newValue","nativeSrc":"12294:8:6","nodeType":"YulIdentifier","src":"12294:8:6"}]}]},"name":"shift_left_dynamic","nativeSrc":"12231:107:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"12259:4:6","nodeType":"YulTypedName","src":"12259:4:6","type":""},{"name":"value","nativeSrc":"12265:5:6","nodeType":"YulTypedName","src":"12265:5:6","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"12275:8:6","nodeType":"YulTypedName","src":"12275:8:6","type":""}],"src":"12231:107:6"},{"body":{"nativeSrc":"12420:317:6","nodeType":"YulBlock","src":"12420:317:6","statements":[{"nativeSrc":"12430:35:6","nodeType":"YulVariableDeclaration","src":"12430:35:6","value":{"arguments":[{"name":"shiftBytes","nativeSrc":"12451:10:6","nodeType":"YulIdentifier","src":"12451:10:6"},{"kind":"number","nativeSrc":"12463:1:6","nodeType":"YulLiteral","src":"12463:1:6","type":"","value":"8"}],"functionName":{"name":"mul","nativeSrc":"12447:3:6","nodeType":"YulIdentifier","src":"12447:3:6"},"nativeSrc":"12447:18:6","nodeType":"YulFunctionCall","src":"12447:18:6"},"variables":[{"name":"shiftBits","nativeSrc":"12434:9:6","nodeType":"YulTypedName","src":"12434:9:6","type":""}]},{"nativeSrc":"12474:109:6","nodeType":"YulVariableDeclaration","src":"12474:109:6","value":{"arguments":[{"name":"shiftBits","nativeSrc":"12505:9:6","nodeType":"YulIdentifier","src":"12505:9:6"},{"kind":"number","nativeSrc":"12516:66:6","nodeType":"YulLiteral","src":"12516:66:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"12486:18:6","nodeType":"YulIdentifier","src":"12486:18:6"},"nativeSrc":"12486:97:6","nodeType":"YulFunctionCall","src":"12486:97:6"},"variables":[{"name":"mask","nativeSrc":"12478:4:6","nodeType":"YulTypedName","src":"12478:4:6","type":""}]},{"nativeSrc":"12592:51:6","nodeType":"YulAssignment","src":"12592:51:6","value":{"arguments":[{"name":"shiftBits","nativeSrc":"12623:9:6","nodeType":"YulIdentifier","src":"12623:9:6"},{"name":"toInsert","nativeSrc":"12634:8:6","nodeType":"YulIdentifier","src":"12634:8:6"}],"functionName":{"name":"shift_left_dynamic","nativeSrc":"12604:18:6","nodeType":"YulIdentifier","src":"12604:18:6"},"nativeSrc":"12604:39:6","nodeType":"YulFunctionCall","src":"12604:39:6"},"variableNames":[{"name":"toInsert","nativeSrc":"12592:8:6","nodeType":"YulIdentifier","src":"12592:8:6"}]},{"nativeSrc":"12652:30:6","nodeType":"YulAssignment","src":"12652:30:6","value":{"arguments":[{"name":"value","nativeSrc":"12665:5:6","nodeType":"YulIdentifier","src":"12665:5:6"},{"arguments":[{"name":"mask","nativeSrc":"12676:4:6","nodeType":"YulIdentifier","src":"12676:4:6"}],"functionName":{"name":"not","nativeSrc":"12672:3:6","nodeType":"YulIdentifier","src":"12672:3:6"},"nativeSrc":"12672:9:6","nodeType":"YulFunctionCall","src":"12672:9:6"}],"functionName":{"name":"and","nativeSrc":"12661:3:6","nodeType":"YulIdentifier","src":"12661:3:6"},"nativeSrc":"12661:21:6","nodeType":"YulFunctionCall","src":"12661:21:6"},"variableNames":[{"name":"value","nativeSrc":"12652:5:6","nodeType":"YulIdentifier","src":"12652:5:6"}]},{"nativeSrc":"12691:40:6","nodeType":"YulAssignment","src":"12691:40:6","value":{"arguments":[{"name":"value","nativeSrc":"12704:5:6","nodeType":"YulIdentifier","src":"12704:5:6"},{"arguments":[{"name":"toInsert","nativeSrc":"12715:8:6","nodeType":"YulIdentifier","src":"12715:8:6"},{"name":"mask","nativeSrc":"12725:4:6","nodeType":"YulIdentifier","src":"12725:4:6"}],"functionName":{"name":"and","nativeSrc":"12711:3:6","nodeType":"YulIdentifier","src":"12711:3:6"},"nativeSrc":"12711:19:6","nodeType":"YulFunctionCall","src":"12711:19:6"}],"functionName":{"name":"or","nativeSrc":"12701:2:6","nodeType":"YulIdentifier","src":"12701:2:6"},"nativeSrc":"12701:30:6","nodeType":"YulFunctionCall","src":"12701:30:6"},"variableNames":[{"name":"result","nativeSrc":"12691:6:6","nodeType":"YulIdentifier","src":"12691:6:6"}]}]},"name":"update_byte_slice_dynamic32","nativeSrc":"12344:393:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"12381:5:6","nodeType":"YulTypedName","src":"12381:5:6","type":""},{"name":"shiftBytes","nativeSrc":"12388:10:6","nodeType":"YulTypedName","src":"12388:10:6","type":""},{"name":"toInsert","nativeSrc":"12400:8:6","nodeType":"YulTypedName","src":"12400:8:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"12413:6:6","nodeType":"YulTypedName","src":"12413:6:6","type":""}],"src":"12344:393:6"},{"body":{"nativeSrc":"12775:28:6","nodeType":"YulBlock","src":"12775:28:6","statements":[{"nativeSrc":"12785:12:6","nodeType":"YulAssignment","src":"12785:12:6","value":{"name":"value","nativeSrc":"12792:5:6","nodeType":"YulIdentifier","src":"12792:5:6"},"variableNames":[{"name":"ret","nativeSrc":"12785:3:6","nodeType":"YulIdentifier","src":"12785:3:6"}]}]},"name":"identity","nativeSrc":"12743:60:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"12761:5:6","nodeType":"YulTypedName","src":"12761:5:6","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"12771:3:6","nodeType":"YulTypedName","src":"12771:3:6","type":""}],"src":"12743:60:6"},{"body":{"nativeSrc":"12869:82:6","nodeType":"YulBlock","src":"12869:82:6","statements":[{"nativeSrc":"12879:66:6","nodeType":"YulAssignment","src":"12879:66:6","value":{"arguments":[{"arguments":[{"arguments":[{"name":"value","nativeSrc":"12937:5:6","nodeType":"YulIdentifier","src":"12937:5:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"12919:17:6","nodeType":"YulIdentifier","src":"12919:17:6"},"nativeSrc":"12919:24:6","nodeType":"YulFunctionCall","src":"12919:24:6"}],"functionName":{"name":"identity","nativeSrc":"12910:8:6","nodeType":"YulIdentifier","src":"12910:8:6"},"nativeSrc":"12910:34:6","nodeType":"YulFunctionCall","src":"12910:34:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"12892:17:6","nodeType":"YulIdentifier","src":"12892:17:6"},"nativeSrc":"12892:53:6","nodeType":"YulFunctionCall","src":"12892:53:6"},"variableNames":[{"name":"converted","nativeSrc":"12879:9:6","nodeType":"YulIdentifier","src":"12879:9:6"}]}]},"name":"convert_t_uint256_to_t_uint256","nativeSrc":"12809:142:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"12849:5:6","nodeType":"YulTypedName","src":"12849:5:6","type":""}],"returnVariables":[{"name":"converted","nativeSrc":"12859:9:6","nodeType":"YulTypedName","src":"12859:9:6","type":""}],"src":"12809:142:6"},{"body":{"nativeSrc":"13004:28:6","nodeType":"YulBlock","src":"13004:28:6","statements":[{"nativeSrc":"13014:12:6","nodeType":"YulAssignment","src":"13014:12:6","value":{"name":"value","nativeSrc":"13021:5:6","nodeType":"YulIdentifier","src":"13021:5:6"},"variableNames":[{"name":"ret","nativeSrc":"13014:3:6","nodeType":"YulIdentifier","src":"13014:3:6"}]}]},"name":"prepare_store_t_uint256","nativeSrc":"12957:75:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nativeSrc":"12990:5:6","nodeType":"YulTypedName","src":"12990:5:6","type":""}],"returnVariables":[{"name":"ret","nativeSrc":"13000:3:6","nodeType":"YulTypedName","src":"13000:3:6","type":""}],"src":"12957:75:6"},{"body":{"nativeSrc":"13114:193:6","nodeType":"YulBlock","src":"13114:193:6","statements":[{"nativeSrc":"13124:63:6","nodeType":"YulVariableDeclaration","src":"13124:63:6","value":{"arguments":[{"name":"value_0","nativeSrc":"13179:7:6","nodeType":"YulIdentifier","src":"13179:7:6"}],"functionName":{"name":"convert_t_uint256_to_t_uint256","nativeSrc":"13148:30:6","nodeType":"YulIdentifier","src":"13148:30:6"},"nativeSrc":"13148:39:6","nodeType":"YulFunctionCall","src":"13148:39:6"},"variables":[{"name":"convertedValue_0","nativeSrc":"13128:16:6","nodeType":"YulTypedName","src":"13128:16:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"13203:4:6","nodeType":"YulIdentifier","src":"13203:4:6"},{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"13243:4:6","nodeType":"YulIdentifier","src":"13243:4:6"}],"functionName":{"name":"sload","nativeSrc":"13237:5:6","nodeType":"YulIdentifier","src":"13237:5:6"},"nativeSrc":"13237:11:6","nodeType":"YulFunctionCall","src":"13237:11:6"},{"name":"offset","nativeSrc":"13250:6:6","nodeType":"YulIdentifier","src":"13250:6:6"},{"arguments":[{"name":"convertedValue_0","nativeSrc":"13282:16:6","nodeType":"YulIdentifier","src":"13282:16:6"}],"functionName":{"name":"prepare_store_t_uint256","nativeSrc":"13258:23:6","nodeType":"YulIdentifier","src":"13258:23:6"},"nativeSrc":"13258:41:6","nodeType":"YulFunctionCall","src":"13258:41:6"}],"functionName":{"name":"update_byte_slice_dynamic32","nativeSrc":"13209:27:6","nodeType":"YulIdentifier","src":"13209:27:6"},"nativeSrc":"13209:91:6","nodeType":"YulFunctionCall","src":"13209:91:6"}],"functionName":{"name":"sstore","nativeSrc":"13196:6:6","nodeType":"YulIdentifier","src":"13196:6:6"},"nativeSrc":"13196:105:6","nodeType":"YulFunctionCall","src":"13196:105:6"},"nativeSrc":"13196:105:6","nodeType":"YulExpressionStatement","src":"13196:105:6"}]},"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"13038:269:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"13091:4:6","nodeType":"YulTypedName","src":"13091:4:6","type":""},{"name":"offset","nativeSrc":"13097:6:6","nodeType":"YulTypedName","src":"13097:6:6","type":""},{"name":"value_0","nativeSrc":"13105:7:6","nodeType":"YulTypedName","src":"13105:7:6","type":""}],"src":"13038:269:6"},{"body":{"nativeSrc":"13362:24:6","nodeType":"YulBlock","src":"13362:24:6","statements":[{"nativeSrc":"13372:8:6","nodeType":"YulAssignment","src":"13372:8:6","value":{"kind":"number","nativeSrc":"13379:1:6","nodeType":"YulLiteral","src":"13379:1:6","type":"","value":"0"},"variableNames":[{"name":"ret","nativeSrc":"13372:3:6","nodeType":"YulIdentifier","src":"13372:3:6"}]}]},"name":"zero_value_for_split_t_uint256","nativeSrc":"13313:73:6","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"ret","nativeSrc":"13358:3:6","nodeType":"YulTypedName","src":"13358:3:6","type":""}],"src":"13313:73:6"},{"body":{"nativeSrc":"13445:136:6","nodeType":"YulBlock","src":"13445:136:6","statements":[{"nativeSrc":"13455:46:6","nodeType":"YulVariableDeclaration","src":"13455:46:6","value":{"arguments":[],"functionName":{"name":"zero_value_for_split_t_uint256","nativeSrc":"13469:30:6","nodeType":"YulIdentifier","src":"13469:30:6"},"nativeSrc":"13469:32:6","nodeType":"YulFunctionCall","src":"13469:32:6"},"variables":[{"name":"zero_0","nativeSrc":"13459:6:6","nodeType":"YulTypedName","src":"13459:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"13554:4:6","nodeType":"YulIdentifier","src":"13554:4:6"},{"name":"offset","nativeSrc":"13560:6:6","nodeType":"YulIdentifier","src":"13560:6:6"},{"name":"zero_0","nativeSrc":"13568:6:6","nodeType":"YulIdentifier","src":"13568:6:6"}],"functionName":{"name":"update_storage_value_t_uint256_to_t_uint256","nativeSrc":"13510:43:6","nodeType":"YulIdentifier","src":"13510:43:6"},"nativeSrc":"13510:65:6","nodeType":"YulFunctionCall","src":"13510:65:6"},"nativeSrc":"13510:65:6","nodeType":"YulExpressionStatement","src":"13510:65:6"}]},"name":"storage_set_to_zero_t_uint256","nativeSrc":"13392:189:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"13431:4:6","nodeType":"YulTypedName","src":"13431:4:6","type":""},{"name":"offset","nativeSrc":"13437:6:6","nodeType":"YulTypedName","src":"13437:6:6","type":""}],"src":"13392:189:6"},{"body":{"nativeSrc":"13637:136:6","nodeType":"YulBlock","src":"13637:136:6","statements":[{"body":{"nativeSrc":"13704:63:6","nodeType":"YulBlock","src":"13704:63:6","statements":[{"expression":{"arguments":[{"name":"start","nativeSrc":"13748:5:6","nodeType":"YulIdentifier","src":"13748:5:6"},{"kind":"number","nativeSrc":"13755:1:6","nodeType":"YulLiteral","src":"13755:1:6","type":"","value":"0"}],"functionName":{"name":"storage_set_to_zero_t_uint256","nativeSrc":"13718:29:6","nodeType":"YulIdentifier","src":"13718:29:6"},"nativeSrc":"13718:39:6","nodeType":"YulFunctionCall","src":"13718:39:6"},"nativeSrc":"13718:39:6","nodeType":"YulExpressionStatement","src":"13718:39:6"}]},"condition":{"arguments":[{"name":"start","nativeSrc":"13657:5:6","nodeType":"YulIdentifier","src":"13657:5:6"},{"name":"end","nativeSrc":"13664:3:6","nodeType":"YulIdentifier","src":"13664:3:6"}],"functionName":{"name":"lt","nativeSrc":"13654:2:6","nodeType":"YulIdentifier","src":"13654:2:6"},"nativeSrc":"13654:14:6","nodeType":"YulFunctionCall","src":"13654:14:6"},"nativeSrc":"13647:120:6","nodeType":"YulForLoop","post":{"nativeSrc":"13669:26:6","nodeType":"YulBlock","src":"13669:26:6","statements":[{"nativeSrc":"13671:22:6","nodeType":"YulAssignment","src":"13671:22:6","value":{"arguments":[{"name":"start","nativeSrc":"13684:5:6","nodeType":"YulIdentifier","src":"13684:5:6"},{"kind":"number","nativeSrc":"13691:1:6","nodeType":"YulLiteral","src":"13691:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"13680:3:6","nodeType":"YulIdentifier","src":"13680:3:6"},"nativeSrc":"13680:13:6","nodeType":"YulFunctionCall","src":"13680:13:6"},"variableNames":[{"name":"start","nativeSrc":"13671:5:6","nodeType":"YulIdentifier","src":"13671:5:6"}]}]},"pre":{"nativeSrc":"13651:2:6","nodeType":"YulBlock","src":"13651:2:6","statements":[]},"src":"13647:120:6"}]},"name":"clear_storage_range_t_bytes1","nativeSrc":"13587:186:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"start","nativeSrc":"13625:5:6","nodeType":"YulTypedName","src":"13625:5:6","type":""},{"name":"end","nativeSrc":"13632:3:6","nodeType":"YulTypedName","src":"13632:3:6","type":""}],"src":"13587:186:6"},{"body":{"nativeSrc":"13858:464:6","nodeType":"YulBlock","src":"13858:464:6","statements":[{"body":{"nativeSrc":"13884:431:6","nodeType":"YulBlock","src":"13884:431:6","statements":[{"nativeSrc":"13898:54:6","nodeType":"YulVariableDeclaration","src":"13898:54:6","value":{"arguments":[{"name":"array","nativeSrc":"13946:5:6","nodeType":"YulIdentifier","src":"13946:5:6"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"13914:31:6","nodeType":"YulIdentifier","src":"13914:31:6"},"nativeSrc":"13914:38:6","nodeType":"YulFunctionCall","src":"13914:38:6"},"variables":[{"name":"dataArea","nativeSrc":"13902:8:6","nodeType":"YulTypedName","src":"13902:8:6","type":""}]},{"nativeSrc":"13965:63:6","nodeType":"YulVariableDeclaration","src":"13965:63:6","value":{"arguments":[{"name":"dataArea","nativeSrc":"13988:8:6","nodeType":"YulIdentifier","src":"13988:8:6"},{"arguments":[{"name":"startIndex","nativeSrc":"14016:10:6","nodeType":"YulIdentifier","src":"14016:10:6"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"13998:17:6","nodeType":"YulIdentifier","src":"13998:17:6"},"nativeSrc":"13998:29:6","nodeType":"YulFunctionCall","src":"13998:29:6"}],"functionName":{"name":"add","nativeSrc":"13984:3:6","nodeType":"YulIdentifier","src":"13984:3:6"},"nativeSrc":"13984:44:6","nodeType":"YulFunctionCall","src":"13984:44:6"},"variables":[{"name":"deleteStart","nativeSrc":"13969:11:6","nodeType":"YulTypedName","src":"13969:11:6","type":""}]},{"body":{"nativeSrc":"14185:27:6","nodeType":"YulBlock","src":"14185:27:6","statements":[{"nativeSrc":"14187:23:6","nodeType":"YulAssignment","src":"14187:23:6","value":{"name":"dataArea","nativeSrc":"14202:8:6","nodeType":"YulIdentifier","src":"14202:8:6"},"variableNames":[{"name":"deleteStart","nativeSrc":"14187:11:6","nodeType":"YulIdentifier","src":"14187:11:6"}]}]},"condition":{"arguments":[{"name":"startIndex","nativeSrc":"14169:10:6","nodeType":"YulIdentifier","src":"14169:10:6"},{"kind":"number","nativeSrc":"14181:2:6","nodeType":"YulLiteral","src":"14181:2:6","type":"","value":"32"}],"functionName":{"name":"lt","nativeSrc":"14166:2:6","nodeType":"YulIdentifier","src":"14166:2:6"},"nativeSrc":"14166:18:6","nodeType":"YulFunctionCall","src":"14166:18:6"},"nativeSrc":"14163:49:6","nodeType":"YulIf","src":"14163:49:6"},{"expression":{"arguments":[{"name":"deleteStart","nativeSrc":"14254:11:6","nodeType":"YulIdentifier","src":"14254:11:6"},{"arguments":[{"name":"dataArea","nativeSrc":"14271:8:6","nodeType":"YulIdentifier","src":"14271:8:6"},{"arguments":[{"name":"len","nativeSrc":"14299:3:6","nodeType":"YulIdentifier","src":"14299:3:6"}],"functionName":{"name":"divide_by_32_ceil","nativeSrc":"14281:17:6","nodeType":"YulIdentifier","src":"14281:17:6"},"nativeSrc":"14281:22:6","nodeType":"YulFunctionCall","src":"14281:22:6"}],"functionName":{"name":"add","nativeSrc":"14267:3:6","nodeType":"YulIdentifier","src":"14267:3:6"},"nativeSrc":"14267:37:6","nodeType":"YulFunctionCall","src":"14267:37:6"}],"functionName":{"name":"clear_storage_range_t_bytes1","nativeSrc":"14225:28:6","nodeType":"YulIdentifier","src":"14225:28:6"},"nativeSrc":"14225:80:6","nodeType":"YulFunctionCall","src":"14225:80:6"},"nativeSrc":"14225:80:6","nodeType":"YulExpressionStatement","src":"14225:80:6"}]},"condition":{"arguments":[{"name":"len","nativeSrc":"13875:3:6","nodeType":"YulIdentifier","src":"13875:3:6"},{"kind":"number","nativeSrc":"13880:2:6","nodeType":"YulLiteral","src":"13880:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"13872:2:6","nodeType":"YulIdentifier","src":"13872:2:6"},"nativeSrc":"13872:11:6","nodeType":"YulFunctionCall","src":"13872:11:6"},"nativeSrc":"13869:446:6","nodeType":"YulIf","src":"13869:446:6"}]},"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"13779:543:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nativeSrc":"13834:5:6","nodeType":"YulTypedName","src":"13834:5:6","type":""},{"name":"len","nativeSrc":"13841:3:6","nodeType":"YulTypedName","src":"13841:3:6","type":""},{"name":"startIndex","nativeSrc":"13846:10:6","nodeType":"YulTypedName","src":"13846:10:6","type":""}],"src":"13779:543:6"},{"body":{"nativeSrc":"14391:54:6","nodeType":"YulBlock","src":"14391:54:6","statements":[{"nativeSrc":"14401:37:6","nodeType":"YulAssignment","src":"14401:37:6","value":{"arguments":[{"name":"bits","nativeSrc":"14426:4:6","nodeType":"YulIdentifier","src":"14426:4:6"},{"name":"value","nativeSrc":"14432:5:6","nodeType":"YulIdentifier","src":"14432:5:6"}],"functionName":{"name":"shr","nativeSrc":"14422:3:6","nodeType":"YulIdentifier","src":"14422:3:6"},"nativeSrc":"14422:16:6","nodeType":"YulFunctionCall","src":"14422:16:6"},"variableNames":[{"name":"newValue","nativeSrc":"14401:8:6","nodeType":"YulIdentifier","src":"14401:8:6"}]}]},"name":"shift_right_unsigned_dynamic","nativeSrc":"14328:117:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"bits","nativeSrc":"14366:4:6","nodeType":"YulTypedName","src":"14366:4:6","type":""},{"name":"value","nativeSrc":"14372:5:6","nodeType":"YulTypedName","src":"14372:5:6","type":""}],"returnVariables":[{"name":"newValue","nativeSrc":"14382:8:6","nodeType":"YulTypedName","src":"14382:8:6","type":""}],"src":"14328:117:6"},{"body":{"nativeSrc":"14502:118:6","nodeType":"YulBlock","src":"14502:118:6","statements":[{"nativeSrc":"14512:68:6","nodeType":"YulVariableDeclaration","src":"14512:68:6","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"14561:1:6","nodeType":"YulLiteral","src":"14561:1:6","type":"","value":"8"},{"name":"bytes","nativeSrc":"14564:5:6","nodeType":"YulIdentifier","src":"14564:5:6"}],"functionName":{"name":"mul","nativeSrc":"14557:3:6","nodeType":"YulIdentifier","src":"14557:3:6"},"nativeSrc":"14557:13:6","nodeType":"YulFunctionCall","src":"14557:13:6"},{"arguments":[{"kind":"number","nativeSrc":"14576:1:6","nodeType":"YulLiteral","src":"14576:1:6","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"14572:3:6","nodeType":"YulIdentifier","src":"14572:3:6"},"nativeSrc":"14572:6:6","nodeType":"YulFunctionCall","src":"14572:6:6"}],"functionName":{"name":"shift_right_unsigned_dynamic","nativeSrc":"14528:28:6","nodeType":"YulIdentifier","src":"14528:28:6"},"nativeSrc":"14528:51:6","nodeType":"YulFunctionCall","src":"14528:51:6"}],"functionName":{"name":"not","nativeSrc":"14524:3:6","nodeType":"YulIdentifier","src":"14524:3:6"},"nativeSrc":"14524:56:6","nodeType":"YulFunctionCall","src":"14524:56:6"},"variables":[{"name":"mask","nativeSrc":"14516:4:6","nodeType":"YulTypedName","src":"14516:4:6","type":""}]},{"nativeSrc":"14589:25:6","nodeType":"YulAssignment","src":"14589:25:6","value":{"arguments":[{"name":"data","nativeSrc":"14603:4:6","nodeType":"YulIdentifier","src":"14603:4:6"},{"name":"mask","nativeSrc":"14609:4:6","nodeType":"YulIdentifier","src":"14609:4:6"}],"functionName":{"name":"and","nativeSrc":"14599:3:6","nodeType":"YulIdentifier","src":"14599:3:6"},"nativeSrc":"14599:15:6","nodeType":"YulFunctionCall","src":"14599:15:6"},"variableNames":[{"name":"result","nativeSrc":"14589:6:6","nodeType":"YulIdentifier","src":"14589:6:6"}]}]},"name":"mask_bytes_dynamic","nativeSrc":"14451:169:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"14479:4:6","nodeType":"YulTypedName","src":"14479:4:6","type":""},{"name":"bytes","nativeSrc":"14485:5:6","nodeType":"YulTypedName","src":"14485:5:6","type":""}],"returnVariables":[{"name":"result","nativeSrc":"14495:6:6","nodeType":"YulTypedName","src":"14495:6:6","type":""}],"src":"14451:169:6"},{"body":{"nativeSrc":"14706:214:6","nodeType":"YulBlock","src":"14706:214:6","statements":[{"nativeSrc":"14839:37:6","nodeType":"YulAssignment","src":"14839:37:6","value":{"arguments":[{"name":"data","nativeSrc":"14866:4:6","nodeType":"YulIdentifier","src":"14866:4:6"},{"name":"len","nativeSrc":"14872:3:6","nodeType":"YulIdentifier","src":"14872:3:6"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"14847:18:6","nodeType":"YulIdentifier","src":"14847:18:6"},"nativeSrc":"14847:29:6","nodeType":"YulFunctionCall","src":"14847:29:6"},"variableNames":[{"name":"data","nativeSrc":"14839:4:6","nodeType":"YulIdentifier","src":"14839:4:6"}]},{"nativeSrc":"14885:29:6","nodeType":"YulAssignment","src":"14885:29:6","value":{"arguments":[{"name":"data","nativeSrc":"14896:4:6","nodeType":"YulIdentifier","src":"14896:4:6"},{"arguments":[{"kind":"number","nativeSrc":"14906:1:6","nodeType":"YulLiteral","src":"14906:1:6","type":"","value":"2"},{"name":"len","nativeSrc":"14909:3:6","nodeType":"YulIdentifier","src":"14909:3:6"}],"functionName":{"name":"mul","nativeSrc":"14902:3:6","nodeType":"YulIdentifier","src":"14902:3:6"},"nativeSrc":"14902:11:6","nodeType":"YulFunctionCall","src":"14902:11:6"}],"functionName":{"name":"or","nativeSrc":"14893:2:6","nodeType":"YulIdentifier","src":"14893:2:6"},"nativeSrc":"14893:21:6","nodeType":"YulFunctionCall","src":"14893:21:6"},"variableNames":[{"name":"used","nativeSrc":"14885:4:6","nodeType":"YulIdentifier","src":"14885:4:6"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"14625:295:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nativeSrc":"14687:4:6","nodeType":"YulTypedName","src":"14687:4:6","type":""},{"name":"len","nativeSrc":"14693:3:6","nodeType":"YulTypedName","src":"14693:3:6","type":""}],"returnVariables":[{"name":"used","nativeSrc":"14701:4:6","nodeType":"YulTypedName","src":"14701:4:6","type":""}],"src":"14625:295:6"},{"body":{"nativeSrc":"15017:1303:6","nodeType":"YulBlock","src":"15017:1303:6","statements":[{"nativeSrc":"15028:51:6","nodeType":"YulVariableDeclaration","src":"15028:51:6","value":{"arguments":[{"name":"src","nativeSrc":"15075:3:6","nodeType":"YulIdentifier","src":"15075:3:6"}],"functionName":{"name":"array_length_t_string_memory_ptr","nativeSrc":"15042:32:6","nodeType":"YulIdentifier","src":"15042:32:6"},"nativeSrc":"15042:37:6","nodeType":"YulFunctionCall","src":"15042:37:6"},"variables":[{"name":"newLen","nativeSrc":"15032:6:6","nodeType":"YulTypedName","src":"15032:6:6","type":""}]},{"body":{"nativeSrc":"15164:22:6","nodeType":"YulBlock","src":"15164:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nativeSrc":"15166:16:6","nodeType":"YulIdentifier","src":"15166:16:6"},"nativeSrc":"15166:18:6","nodeType":"YulFunctionCall","src":"15166:18:6"},"nativeSrc":"15166:18:6","nodeType":"YulExpressionStatement","src":"15166:18:6"}]},"condition":{"arguments":[{"name":"newLen","nativeSrc":"15136:6:6","nodeType":"YulIdentifier","src":"15136:6:6"},{"kind":"number","nativeSrc":"15144:18:6","nodeType":"YulLiteral","src":"15144:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nativeSrc":"15133:2:6","nodeType":"YulIdentifier","src":"15133:2:6"},"nativeSrc":"15133:30:6","nodeType":"YulFunctionCall","src":"15133:30:6"},"nativeSrc":"15130:56:6","nodeType":"YulIf","src":"15130:56:6"},{"nativeSrc":"15196:52:6","nodeType":"YulVariableDeclaration","src":"15196:52:6","value":{"arguments":[{"arguments":[{"name":"slot","nativeSrc":"15242:4:6","nodeType":"YulIdentifier","src":"15242:4:6"}],"functionName":{"name":"sload","nativeSrc":"15236:5:6","nodeType":"YulIdentifier","src":"15236:5:6"},"nativeSrc":"15236:11:6","nodeType":"YulFunctionCall","src":"15236:11:6"}],"functionName":{"name":"extract_byte_array_length","nativeSrc":"15210:25:6","nodeType":"YulIdentifier","src":"15210:25:6"},"nativeSrc":"15210:38:6","nodeType":"YulFunctionCall","src":"15210:38:6"},"variables":[{"name":"oldLen","nativeSrc":"15200:6:6","nodeType":"YulTypedName","src":"15200:6:6","type":""}]},{"expression":{"arguments":[{"name":"slot","nativeSrc":"15341:4:6","nodeType":"YulIdentifier","src":"15341:4:6"},{"name":"oldLen","nativeSrc":"15347:6:6","nodeType":"YulIdentifier","src":"15347:6:6"},{"name":"newLen","nativeSrc":"15355:6:6","nodeType":"YulIdentifier","src":"15355:6:6"}],"functionName":{"name":"clean_up_bytearray_end_slots_t_string_storage","nativeSrc":"15295:45:6","nodeType":"YulIdentifier","src":"15295:45:6"},"nativeSrc":"15295:67:6","nodeType":"YulFunctionCall","src":"15295:67:6"},"nativeSrc":"15295:67:6","nodeType":"YulExpressionStatement","src":"15295:67:6"},{"nativeSrc":"15372:18:6","nodeType":"YulVariableDeclaration","src":"15372:18:6","value":{"kind":"number","nativeSrc":"15389:1:6","nodeType":"YulLiteral","src":"15389:1:6","type":"","value":"0"},"variables":[{"name":"srcOffset","nativeSrc":"15376:9:6","nodeType":"YulTypedName","src":"15376:9:6","type":""}]},{"nativeSrc":"15400:17:6","nodeType":"YulAssignment","src":"15400:17:6","value":{"kind":"number","nativeSrc":"15413:4:6","nodeType":"YulLiteral","src":"15413:4:6","type":"","value":"0x20"},"variableNames":[{"name":"srcOffset","nativeSrc":"15400:9:6","nodeType":"YulIdentifier","src":"15400:9:6"}]},{"cases":[{"body":{"nativeSrc":"15464:611:6","nodeType":"YulBlock","src":"15464:611:6","statements":[{"nativeSrc":"15478:37:6","nodeType":"YulVariableDeclaration","src":"15478:37:6","value":{"arguments":[{"name":"newLen","nativeSrc":"15497:6:6","nodeType":"YulIdentifier","src":"15497:6:6"},{"arguments":[{"kind":"number","nativeSrc":"15509:4:6","nodeType":"YulLiteral","src":"15509:4:6","type":"","value":"0x1f"}],"functionName":{"name":"not","nativeSrc":"15505:3:6","nodeType":"YulIdentifier","src":"15505:3:6"},"nativeSrc":"15505:9:6","nodeType":"YulFunctionCall","src":"15505:9:6"}],"functionName":{"name":"and","nativeSrc":"15493:3:6","nodeType":"YulIdentifier","src":"15493:3:6"},"nativeSrc":"15493:22:6","nodeType":"YulFunctionCall","src":"15493:22:6"},"variables":[{"name":"loopEnd","nativeSrc":"15482:7:6","nodeType":"YulTypedName","src":"15482:7:6","type":""}]},{"nativeSrc":"15529:51:6","nodeType":"YulVariableDeclaration","src":"15529:51:6","value":{"arguments":[{"name":"slot","nativeSrc":"15575:4:6","nodeType":"YulIdentifier","src":"15575:4:6"}],"functionName":{"name":"array_dataslot_t_string_storage","nativeSrc":"15543:31:6","nodeType":"YulIdentifier","src":"15543:31:6"},"nativeSrc":"15543:37:6","nodeType":"YulFunctionCall","src":"15543:37:6"},"variables":[{"name":"dstPtr","nativeSrc":"15533:6:6","nodeType":"YulTypedName","src":"15533:6:6","type":""}]},{"nativeSrc":"15593:10:6","nodeType":"YulVariableDeclaration","src":"15593:10:6","value":{"kind":"number","nativeSrc":"15602:1:6","nodeType":"YulLiteral","src":"15602:1:6","type":"","value":"0"},"variables":[{"name":"i","nativeSrc":"15597:1:6","nodeType":"YulTypedName","src":"15597:1:6","type":""}]},{"body":{"nativeSrc":"15661:163:6","nodeType":"YulBlock","src":"15661:163:6","statements":[{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"15686:6:6","nodeType":"YulIdentifier","src":"15686:6:6"},{"arguments":[{"arguments":[{"name":"src","nativeSrc":"15704:3:6","nodeType":"YulIdentifier","src":"15704:3:6"},{"name":"srcOffset","nativeSrc":"15709:9:6","nodeType":"YulIdentifier","src":"15709:9:6"}],"functionName":{"name":"add","nativeSrc":"15700:3:6","nodeType":"YulIdentifier","src":"15700:3:6"},"nativeSrc":"15700:19:6","nodeType":"YulFunctionCall","src":"15700:19:6"}],"functionName":{"name":"mload","nativeSrc":"15694:5:6","nodeType":"YulIdentifier","src":"15694:5:6"},"nativeSrc":"15694:26:6","nodeType":"YulFunctionCall","src":"15694:26:6"}],"functionName":{"name":"sstore","nativeSrc":"15679:6:6","nodeType":"YulIdentifier","src":"15679:6:6"},"nativeSrc":"15679:42:6","nodeType":"YulFunctionCall","src":"15679:42:6"},"nativeSrc":"15679:42:6","nodeType":"YulExpressionStatement","src":"15679:42:6"},{"nativeSrc":"15738:24:6","nodeType":"YulAssignment","src":"15738:24:6","value":{"arguments":[{"name":"dstPtr","nativeSrc":"15752:6:6","nodeType":"YulIdentifier","src":"15752:6:6"},{"kind":"number","nativeSrc":"15760:1:6","nodeType":"YulLiteral","src":"15760:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"15748:3:6","nodeType":"YulIdentifier","src":"15748:3:6"},"nativeSrc":"15748:14:6","nodeType":"YulFunctionCall","src":"15748:14:6"},"variableNames":[{"name":"dstPtr","nativeSrc":"15738:6:6","nodeType":"YulIdentifier","src":"15738:6:6"}]},{"nativeSrc":"15779:31:6","nodeType":"YulAssignment","src":"15779:31:6","value":{"arguments":[{"name":"srcOffset","nativeSrc":"15796:9:6","nodeType":"YulIdentifier","src":"15796:9:6"},{"kind":"number","nativeSrc":"15807:2:6","nodeType":"YulLiteral","src":"15807:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"15792:3:6","nodeType":"YulIdentifier","src":"15792:3:6"},"nativeSrc":"15792:18:6","nodeType":"YulFunctionCall","src":"15792:18:6"},"variableNames":[{"name":"srcOffset","nativeSrc":"15779:9:6","nodeType":"YulIdentifier","src":"15779:9:6"}]}]},"condition":{"arguments":[{"name":"i","nativeSrc":"15627:1:6","nodeType":"YulIdentifier","src":"15627:1:6"},{"name":"loopEnd","nativeSrc":"15630:7:6","nodeType":"YulIdentifier","src":"15630:7:6"}],"functionName":{"name":"lt","nativeSrc":"15624:2:6","nodeType":"YulIdentifier","src":"15624:2:6"},"nativeSrc":"15624:14:6","nodeType":"YulFunctionCall","src":"15624:14:6"},"nativeSrc":"15616:208:6","nodeType":"YulForLoop","post":{"nativeSrc":"15639:21:6","nodeType":"YulBlock","src":"15639:21:6","statements":[{"nativeSrc":"15641:17:6","nodeType":"YulAssignment","src":"15641:17:6","value":{"arguments":[{"name":"i","nativeSrc":"15650:1:6","nodeType":"YulIdentifier","src":"15650:1:6"},{"kind":"number","nativeSrc":"15653:4:6","nodeType":"YulLiteral","src":"15653:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"15646:3:6","nodeType":"YulIdentifier","src":"15646:3:6"},"nativeSrc":"15646:12:6","nodeType":"YulFunctionCall","src":"15646:12:6"},"variableNames":[{"name":"i","nativeSrc":"15641:1:6","nodeType":"YulIdentifier","src":"15641:1:6"}]}]},"pre":{"nativeSrc":"15620:3:6","nodeType":"YulBlock","src":"15620:3:6","statements":[]},"src":"15616:208:6"},{"body":{"nativeSrc":"15860:156:6","nodeType":"YulBlock","src":"15860:156:6","statements":[{"nativeSrc":"15878:43:6","nodeType":"YulVariableDeclaration","src":"15878:43:6","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"15905:3:6","nodeType":"YulIdentifier","src":"15905:3:6"},{"name":"srcOffset","nativeSrc":"15910:9:6","nodeType":"YulIdentifier","src":"15910:9:6"}],"functionName":{"name":"add","nativeSrc":"15901:3:6","nodeType":"YulIdentifier","src":"15901:3:6"},"nativeSrc":"15901:19:6","nodeType":"YulFunctionCall","src":"15901:19:6"}],"functionName":{"name":"mload","nativeSrc":"15895:5:6","nodeType":"YulIdentifier","src":"15895:5:6"},"nativeSrc":"15895:26:6","nodeType":"YulFunctionCall","src":"15895:26:6"},"variables":[{"name":"lastValue","nativeSrc":"15882:9:6","nodeType":"YulTypedName","src":"15882:9:6","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nativeSrc":"15945:6:6","nodeType":"YulIdentifier","src":"15945:6:6"},{"arguments":[{"name":"lastValue","nativeSrc":"15972:9:6","nodeType":"YulIdentifier","src":"15972:9:6"},{"arguments":[{"name":"newLen","nativeSrc":"15987:6:6","nodeType":"YulIdentifier","src":"15987:6:6"},{"kind":"number","nativeSrc":"15995:4:6","nodeType":"YulLiteral","src":"15995:4:6","type":"","value":"0x1f"}],"functionName":{"name":"and","nativeSrc":"15983:3:6","nodeType":"YulIdentifier","src":"15983:3:6"},"nativeSrc":"15983:17:6","nodeType":"YulFunctionCall","src":"15983:17:6"}],"functionName":{"name":"mask_bytes_dynamic","nativeSrc":"15953:18:6","nodeType":"YulIdentifier","src":"15953:18:6"},"nativeSrc":"15953:48:6","nodeType":"YulFunctionCall","src":"15953:48:6"}],"functionName":{"name":"sstore","nativeSrc":"15938:6:6","nodeType":"YulIdentifier","src":"15938:6:6"},"nativeSrc":"15938:64:6","nodeType":"YulFunctionCall","src":"15938:64:6"},"nativeSrc":"15938:64:6","nodeType":"YulExpressionStatement","src":"15938:64:6"}]},"condition":{"arguments":[{"name":"loopEnd","nativeSrc":"15843:7:6","nodeType":"YulIdentifier","src":"15843:7:6"},{"name":"newLen","nativeSrc":"15852:6:6","nodeType":"YulIdentifier","src":"15852:6:6"}],"functionName":{"name":"lt","nativeSrc":"15840:2:6","nodeType":"YulIdentifier","src":"15840:2:6"},"nativeSrc":"15840:19:6","nodeType":"YulFunctionCall","src":"15840:19:6"},"nativeSrc":"15837:179:6","nodeType":"YulIf","src":"15837:179:6"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"16036:4:6","nodeType":"YulIdentifier","src":"16036:4:6"},{"arguments":[{"arguments":[{"name":"newLen","nativeSrc":"16050:6:6","nodeType":"YulIdentifier","src":"16050:6:6"},{"kind":"number","nativeSrc":"16058:1:6","nodeType":"YulLiteral","src":"16058:1:6","type":"","value":"2"}],"functionName":{"name":"mul","nativeSrc":"16046:3:6","nodeType":"YulIdentifier","src":"16046:3:6"},"nativeSrc":"16046:14:6","nodeType":"YulFunctionCall","src":"16046:14:6"},{"kind":"number","nativeSrc":"16062:1:6","nodeType":"YulLiteral","src":"16062:1:6","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"16042:3:6","nodeType":"YulIdentifier","src":"16042:3:6"},"nativeSrc":"16042:22:6","nodeType":"YulFunctionCall","src":"16042:22:6"}],"functionName":{"name":"sstore","nativeSrc":"16029:6:6","nodeType":"YulIdentifier","src":"16029:6:6"},"nativeSrc":"16029:36:6","nodeType":"YulFunctionCall","src":"16029:36:6"},"nativeSrc":"16029:36:6","nodeType":"YulExpressionStatement","src":"16029:36:6"}]},"nativeSrc":"15457:618:6","nodeType":"YulCase","src":"15457:618:6","value":{"kind":"number","nativeSrc":"15462:1:6","nodeType":"YulLiteral","src":"15462:1:6","type":"","value":"1"}},{"body":{"nativeSrc":"16092:222:6","nodeType":"YulBlock","src":"16092:222:6","statements":[{"nativeSrc":"16106:14:6","nodeType":"YulVariableDeclaration","src":"16106:14:6","value":{"kind":"number","nativeSrc":"16119:1:6","nodeType":"YulLiteral","src":"16119:1:6","type":"","value":"0"},"variables":[{"name":"value","nativeSrc":"16110:5:6","nodeType":"YulTypedName","src":"16110:5:6","type":""}]},{"body":{"nativeSrc":"16143:67:6","nodeType":"YulBlock","src":"16143:67:6","statements":[{"nativeSrc":"16161:35:6","nodeType":"YulAssignment","src":"16161:35:6","value":{"arguments":[{"arguments":[{"name":"src","nativeSrc":"16180:3:6","nodeType":"YulIdentifier","src":"16180:3:6"},{"name":"srcOffset","nativeSrc":"16185:9:6","nodeType":"YulIdentifier","src":"16185:9:6"}],"functionName":{"name":"add","nativeSrc":"16176:3:6","nodeType":"YulIdentifier","src":"16176:3:6"},"nativeSrc":"16176:19:6","nodeType":"YulFunctionCall","src":"16176:19:6"}],"functionName":{"name":"mload","nativeSrc":"16170:5:6","nodeType":"YulIdentifier","src":"16170:5:6"},"nativeSrc":"16170:26:6","nodeType":"YulFunctionCall","src":"16170:26:6"},"variableNames":[{"name":"value","nativeSrc":"16161:5:6","nodeType":"YulIdentifier","src":"16161:5:6"}]}]},"condition":{"name":"newLen","nativeSrc":"16136:6:6","nodeType":"YulIdentifier","src":"16136:6:6"},"nativeSrc":"16133:77:6","nodeType":"YulIf","src":"16133:77:6"},{"expression":{"arguments":[{"name":"slot","nativeSrc":"16230:4:6","nodeType":"YulIdentifier","src":"16230:4:6"},{"arguments":[{"name":"value","nativeSrc":"16289:5:6","nodeType":"YulIdentifier","src":"16289:5:6"},{"name":"newLen","nativeSrc":"16296:6:6","nodeType":"YulIdentifier","src":"16296:6:6"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nativeSrc":"16236:52:6","nodeType":"YulIdentifier","src":"16236:52:6"},"nativeSrc":"16236:67:6","nodeType":"YulFunctionCall","src":"16236:67:6"}],"functionName":{"name":"sstore","nativeSrc":"16223:6:6","nodeType":"YulIdentifier","src":"16223:6:6"},"nativeSrc":"16223:81:6","nodeType":"YulFunctionCall","src":"16223:81:6"},"nativeSrc":"16223:81:6","nodeType":"YulExpressionStatement","src":"16223:81:6"}]},"nativeSrc":"16084:230:6","nodeType":"YulCase","src":"16084:230:6","value":"default"}],"expression":{"arguments":[{"name":"newLen","nativeSrc":"15437:6:6","nodeType":"YulIdentifier","src":"15437:6:6"},{"kind":"number","nativeSrc":"15445:2:6","nodeType":"YulLiteral","src":"15445:2:6","type":"","value":"31"}],"functionName":{"name":"gt","nativeSrc":"15434:2:6","nodeType":"YulIdentifier","src":"15434:2:6"},"nativeSrc":"15434:14:6","nodeType":"YulFunctionCall","src":"15434:14:6"},"nativeSrc":"15427:887:6","nodeType":"YulSwitch","src":"15427:887:6"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nativeSrc":"14925:1395:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nativeSrc":"15006:4:6","nodeType":"YulTypedName","src":"15006:4:6","type":""},{"name":"src","nativeSrc":"15012:3:6","nodeType":"YulTypedName","src":"15012:3:6","type":""}],"src":"14925:1395:6"},{"body":{"nativeSrc":"16354:152:6","nodeType":"YulBlock","src":"16354:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"16371:1:6","nodeType":"YulLiteral","src":"16371:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16374:77:6","nodeType":"YulLiteral","src":"16374:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nativeSrc":"16364:6:6","nodeType":"YulIdentifier","src":"16364:6:6"},"nativeSrc":"16364:88:6","nodeType":"YulFunctionCall","src":"16364:88:6"},"nativeSrc":"16364:88:6","nodeType":"YulExpressionStatement","src":"16364:88:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16468:1:6","nodeType":"YulLiteral","src":"16468:1:6","type":"","value":"4"},{"kind":"number","nativeSrc":"16471:4:6","nodeType":"YulLiteral","src":"16471:4:6","type":"","value":"0x11"}],"functionName":{"name":"mstore","nativeSrc":"16461:6:6","nodeType":"YulIdentifier","src":"16461:6:6"},"nativeSrc":"16461:15:6","nodeType":"YulFunctionCall","src":"16461:15:6"},"nativeSrc":"16461:15:6","nodeType":"YulExpressionStatement","src":"16461:15:6"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"16492:1:6","nodeType":"YulLiteral","src":"16492:1:6","type":"","value":"0"},{"kind":"number","nativeSrc":"16495:4:6","nodeType":"YulLiteral","src":"16495:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nativeSrc":"16485:6:6","nodeType":"YulIdentifier","src":"16485:6:6"},"nativeSrc":"16485:15:6","nodeType":"YulFunctionCall","src":"16485:15:6"},"nativeSrc":"16485:15:6","nodeType":"YulExpressionStatement","src":"16485:15:6"}]},"name":"panic_error_0x11","nativeSrc":"16326:180:6","nodeType":"YulFunctionDefinition","src":"16326:180:6"},{"body":{"nativeSrc":"16556:147:6","nodeType":"YulBlock","src":"16556:147:6","statements":[{"nativeSrc":"16566:25:6","nodeType":"YulAssignment","src":"16566:25:6","value":{"arguments":[{"name":"x","nativeSrc":"16589:1:6","nodeType":"YulIdentifier","src":"16589:1:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"16571:17:6","nodeType":"YulIdentifier","src":"16571:17:6"},"nativeSrc":"16571:20:6","nodeType":"YulFunctionCall","src":"16571:20:6"},"variableNames":[{"name":"x","nativeSrc":"16566:1:6","nodeType":"YulIdentifier","src":"16566:1:6"}]},{"nativeSrc":"16600:25:6","nodeType":"YulAssignment","src":"16600:25:6","value":{"arguments":[{"name":"y","nativeSrc":"16623:1:6","nodeType":"YulIdentifier","src":"16623:1:6"}],"functionName":{"name":"cleanup_t_uint256","nativeSrc":"16605:17:6","nodeType":"YulIdentifier","src":"16605:17:6"},"nativeSrc":"16605:20:6","nodeType":"YulFunctionCall","src":"16605:20:6"},"variableNames":[{"name":"y","nativeSrc":"16600:1:6","nodeType":"YulIdentifier","src":"16600:1:6"}]},{"nativeSrc":"16634:16:6","nodeType":"YulAssignment","src":"16634:16:6","value":{"arguments":[{"name":"x","nativeSrc":"16645:1:6","nodeType":"YulIdentifier","src":"16645:1:6"},{"name":"y","nativeSrc":"16648:1:6","nodeType":"YulIdentifier","src":"16648:1:6"}],"functionName":{"name":"add","nativeSrc":"16641:3:6","nodeType":"YulIdentifier","src":"16641:3:6"},"nativeSrc":"16641:9:6","nodeType":"YulFunctionCall","src":"16641:9:6"},"variableNames":[{"name":"sum","nativeSrc":"16634:3:6","nodeType":"YulIdentifier","src":"16634:3:6"}]},{"body":{"nativeSrc":"16674:22:6","nodeType":"YulBlock","src":"16674:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nativeSrc":"16676:16:6","nodeType":"YulIdentifier","src":"16676:16:6"},"nativeSrc":"16676:18:6","nodeType":"YulFunctionCall","src":"16676:18:6"},"nativeSrc":"16676:18:6","nodeType":"YulExpressionStatement","src":"16676:18:6"}]},"condition":{"arguments":[{"name":"x","nativeSrc":"16666:1:6","nodeType":"YulIdentifier","src":"16666:1:6"},{"name":"sum","nativeSrc":"16669:3:6","nodeType":"YulIdentifier","src":"16669:3:6"}],"functionName":{"name":"gt","nativeSrc":"16663:2:6","nodeType":"YulIdentifier","src":"16663:2:6"},"nativeSrc":"16663:10:6","nodeType":"YulFunctionCall","src":"16663:10:6"},"nativeSrc":"16660:36:6","nodeType":"YulIf","src":"16660:36:6"}]},"name":"checked_add_t_uint256","nativeSrc":"16512:191:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nativeSrc":"16543:1:6","nodeType":"YulTypedName","src":"16543:1:6","type":""},{"name":"y","nativeSrc":"16546:1:6","nodeType":"YulTypedName","src":"16546:1:6","type":""}],"returnVariables":[{"name":"sum","nativeSrc":"16552:3:6","nodeType":"YulTypedName","src":"16552:3:6","type":""}],"src":"16512:191:6"},{"body":{"nativeSrc":"16881:357:6","nodeType":"YulBlock","src":"16881:357:6","statements":[{"nativeSrc":"16891:26:6","nodeType":"YulAssignment","src":"16891:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"16903:9:6","nodeType":"YulIdentifier","src":"16903:9:6"},{"kind":"number","nativeSrc":"16914:2:6","nodeType":"YulLiteral","src":"16914:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"16899:3:6","nodeType":"YulIdentifier","src":"16899:3:6"},"nativeSrc":"16899:18:6","nodeType":"YulFunctionCall","src":"16899:18:6"},"variableNames":[{"name":"tail","nativeSrc":"16891:4:6","nodeType":"YulIdentifier","src":"16891:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"16971:6:6","nodeType":"YulIdentifier","src":"16971:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"16984:9:6","nodeType":"YulIdentifier","src":"16984:9:6"},{"kind":"number","nativeSrc":"16995:1:6","nodeType":"YulLiteral","src":"16995:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"16980:3:6","nodeType":"YulIdentifier","src":"16980:3:6"},"nativeSrc":"16980:17:6","nodeType":"YulFunctionCall","src":"16980:17:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"16927:43:6","nodeType":"YulIdentifier","src":"16927:43:6"},"nativeSrc":"16927:71:6","nodeType":"YulFunctionCall","src":"16927:71:6"},"nativeSrc":"16927:71:6","nodeType":"YulExpressionStatement","src":"16927:71:6"},{"expression":{"arguments":[{"name":"value1","nativeSrc":"17050:6:6","nodeType":"YulIdentifier","src":"17050:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"17063:9:6","nodeType":"YulIdentifier","src":"17063:9:6"},{"kind":"number","nativeSrc":"17074:2:6","nodeType":"YulLiteral","src":"17074:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17059:3:6","nodeType":"YulIdentifier","src":"17059:3:6"},"nativeSrc":"17059:18:6","nodeType":"YulFunctionCall","src":"17059:18:6"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nativeSrc":"17008:41:6","nodeType":"YulIdentifier","src":"17008:41:6"},"nativeSrc":"17008:70:6","nodeType":"YulFunctionCall","src":"17008:70:6"},"nativeSrc":"17008:70:6","nodeType":"YulExpressionStatement","src":"17008:70:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nativeSrc":"17099:9:6","nodeType":"YulIdentifier","src":"17099:9:6"},{"kind":"number","nativeSrc":"17110:2:6","nodeType":"YulLiteral","src":"17110:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17095:3:6","nodeType":"YulIdentifier","src":"17095:3:6"},"nativeSrc":"17095:18:6","nodeType":"YulFunctionCall","src":"17095:18:6"},{"arguments":[{"name":"tail","nativeSrc":"17119:4:6","nodeType":"YulIdentifier","src":"17119:4:6"},{"name":"headStart","nativeSrc":"17125:9:6","nodeType":"YulIdentifier","src":"17125:9:6"}],"functionName":{"name":"sub","nativeSrc":"17115:3:6","nodeType":"YulIdentifier","src":"17115:3:6"},"nativeSrc":"17115:20:6","nodeType":"YulFunctionCall","src":"17115:20:6"}],"functionName":{"name":"mstore","nativeSrc":"17088:6:6","nodeType":"YulIdentifier","src":"17088:6:6"},"nativeSrc":"17088:48:6","nodeType":"YulFunctionCall","src":"17088:48:6"},"nativeSrc":"17088:48:6","nodeType":"YulExpressionStatement","src":"17088:48:6"},{"nativeSrc":"17145:86:6","nodeType":"YulAssignment","src":"17145:86:6","value":{"arguments":[{"name":"value2","nativeSrc":"17217:6:6","nodeType":"YulIdentifier","src":"17217:6:6"},{"name":"tail","nativeSrc":"17226:4:6","nodeType":"YulIdentifier","src":"17226:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nativeSrc":"17153:63:6","nodeType":"YulIdentifier","src":"17153:63:6"},"nativeSrc":"17153:78:6","nodeType":"YulFunctionCall","src":"17153:78:6"},"variableNames":[{"name":"tail","nativeSrc":"17145:4:6","nodeType":"YulIdentifier","src":"17145:4:6"}]}]},"name":"abi_encode_tuple_t_uint256_t_int256_t_string_memory_ptr__to_t_uint256_t_int256_t_string_memory_ptr__fromStack_reversed","nativeSrc":"16709:529:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"16837:9:6","nodeType":"YulTypedName","src":"16837:9:6","type":""},{"name":"value2","nativeSrc":"16849:6:6","nodeType":"YulTypedName","src":"16849:6:6","type":""},{"name":"value1","nativeSrc":"16857:6:6","nodeType":"YulTypedName","src":"16857:6:6","type":""},{"name":"value0","nativeSrc":"16865:6:6","nodeType":"YulTypedName","src":"16865:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"16876:4:6","nodeType":"YulTypedName","src":"16876:4:6","type":""}],"src":"16709:529:6"},{"body":{"nativeSrc":"17398:288:6","nodeType":"YulBlock","src":"17398:288:6","statements":[{"nativeSrc":"17408:26:6","nodeType":"YulAssignment","src":"17408:26:6","value":{"arguments":[{"name":"headStart","nativeSrc":"17420:9:6","nodeType":"YulIdentifier","src":"17420:9:6"},{"kind":"number","nativeSrc":"17431:2:6","nodeType":"YulLiteral","src":"17431:2:6","type":"","value":"96"}],"functionName":{"name":"add","nativeSrc":"17416:3:6","nodeType":"YulIdentifier","src":"17416:3:6"},"nativeSrc":"17416:18:6","nodeType":"YulFunctionCall","src":"17416:18:6"},"variableNames":[{"name":"tail","nativeSrc":"17408:4:6","nodeType":"YulIdentifier","src":"17408:4:6"}]},{"expression":{"arguments":[{"name":"value0","nativeSrc":"17488:6:6","nodeType":"YulIdentifier","src":"17488:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"17501:9:6","nodeType":"YulIdentifier","src":"17501:9:6"},{"kind":"number","nativeSrc":"17512:1:6","nodeType":"YulLiteral","src":"17512:1:6","type":"","value":"0"}],"functionName":{"name":"add","nativeSrc":"17497:3:6","nodeType":"YulIdentifier","src":"17497:3:6"},"nativeSrc":"17497:17:6","nodeType":"YulFunctionCall","src":"17497:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nativeSrc":"17444:43:6","nodeType":"YulIdentifier","src":"17444:43:6"},"nativeSrc":"17444:71:6","nodeType":"YulFunctionCall","src":"17444:71:6"},"nativeSrc":"17444:71:6","nodeType":"YulExpressionStatement","src":"17444:71:6"},{"expression":{"arguments":[{"name":"value1","nativeSrc":"17569:6:6","nodeType":"YulIdentifier","src":"17569:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"17582:9:6","nodeType":"YulIdentifier","src":"17582:9:6"},{"kind":"number","nativeSrc":"17593:2:6","nodeType":"YulLiteral","src":"17593:2:6","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"17578:3:6","nodeType":"YulIdentifier","src":"17578:3:6"},"nativeSrc":"17578:18:6","nodeType":"YulFunctionCall","src":"17578:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"17525:43:6","nodeType":"YulIdentifier","src":"17525:43:6"},"nativeSrc":"17525:72:6","nodeType":"YulFunctionCall","src":"17525:72:6"},"nativeSrc":"17525:72:6","nodeType":"YulExpressionStatement","src":"17525:72:6"},{"expression":{"arguments":[{"name":"value2","nativeSrc":"17651:6:6","nodeType":"YulIdentifier","src":"17651:6:6"},{"arguments":[{"name":"headStart","nativeSrc":"17664:9:6","nodeType":"YulIdentifier","src":"17664:9:6"},{"kind":"number","nativeSrc":"17675:2:6","nodeType":"YulLiteral","src":"17675:2:6","type":"","value":"64"}],"functionName":{"name":"add","nativeSrc":"17660:3:6","nodeType":"YulIdentifier","src":"17660:3:6"},"nativeSrc":"17660:18:6","nodeType":"YulFunctionCall","src":"17660:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nativeSrc":"17607:43:6","nodeType":"YulIdentifier","src":"17607:43:6"},"nativeSrc":"17607:72:6","nodeType":"YulFunctionCall","src":"17607:72:6"},"nativeSrc":"17607:72:6","nodeType":"YulExpressionStatement","src":"17607:72:6"}]},"name":"abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed","nativeSrc":"17244:442:6","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nativeSrc":"17354:9:6","nodeType":"YulTypedName","src":"17354:9:6","type":""},{"name":"value2","nativeSrc":"17366:6:6","nodeType":"YulTypedName","src":"17366:6:6","type":""},{"name":"value1","nativeSrc":"17374:6:6","nodeType":"YulTypedName","src":"17374:6:6","type":""},{"name":"value0","nativeSrc":"17382:6:6","nodeType":"YulTypedName","src":"17382:6:6","type":""}],"returnVariables":[{"name":"tail","nativeSrc":"17393:4:6","nodeType":"YulTypedName","src":"17393:4:6","type":""}],"src":"17244:442:6"}]},"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 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 cleanup_t_int256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function validator_revert_t_int256(value) {\n        if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n    }\n\n    function abi_decode_t_int256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_int256(value)\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_calldata_to_memory_with_cleanup(src, dst, length) {\n        calldatacopy(dst, src, length)\n        mstore(add(dst, length), 0)\n    }\n\n    function abi_decode_available_length_t_string_memory_ptr(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_calldata_to_memory_with_cleanup(src, dst, length)\n    }\n\n    // string\n    function abi_decode_t_string_memory_ptr(offset, end) -> array {\n        if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n        let length := calldataload(offset)\n        array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n    }\n\n    function abi_decode_tuple_t_uint256t_int256t_string_memory_ptr(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_uint256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := 32\n\n            value1 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n        }\n\n        {\n\n            let offset := calldataload(add(headStart, 64))\n            if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n            value2 := abi_decode_t_string_memory_ptr(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 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 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 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 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_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_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_int256(value))\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_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__to_t_uint256_t_int256_t_address_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n        tail := add(headStart, 160)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_int256_to_t_int256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_address_to_t_address_fromStack(value2,  add(headStart, 64))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value3,  add(headStart, 96))\n\n        mstore(add(headStart, 128), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4,  tail)\n\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_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 store_literal_in_memory_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3(memPtr) {\n\n        mstore(add(memPtr, 0), \"Task already completed\")\n\n    }\n\n    function abi_encode_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3_to_t_string_memory_ptr_fromStack(pos) -> end {\n        pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n        store_literal_in_memory_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3(pos)\n        end := add(pos, 32)\n    }\n\n    function abi_encode_tuple_t_stringliteral_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3__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_11d982537cef1182584b8fe65779e423bd34c13f71c81fc31dfb19420fa840f3_to_t_string_memory_ptr_fromStack( tail)\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 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 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_tuple_t_uint256_t_int256_t_string_memory_ptr__to_t_uint256_t_int256_t_string_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_int256_to_t_int256_fromStack(value1,  add(headStart, 32))\n\n        mstore(add(headStart, 64), sub(tail, headStart))\n        tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value2,  tail)\n\n    }\n\n    function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n        tail := add(headStart, 96)\n\n        abi_encode_t_address_to_t_address_fromStack(value0,  add(headStart, 0))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value1,  add(headStart, 32))\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value2,  add(headStart, 64))\n\n    }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100ce5760003560e01c8063313ce5671161008c57806395d89b411161006657806395d89b411461022b578063a9059cbb14610249578063bd4bbeb914610279578063dd62ed3e146102a9576100ce565b8063313ce567146101bf57806370a08231146101dd5780638da5cb5b1461020d576100ce565b8062a82c76146100d357806306fdde03146100ef578063095ea7b31461010d57806310a7fd7b1461013d57806318160ddd1461017157806323b872dd1461018f575b600080fd5b6100ed60048036038101906100e8919061108a565b6102d9565b005b6100f761050c565b6040516101049190611178565b60405180910390f35b610127600480360381019061012291906111f8565b61059e565b6040516101349190611253565b60405180910390f35b6101576004803603810190610152919061126e565b6105c1565b6040516101689594939291906112c8565b60405180910390f35b61017961069f565b6040516101869190611322565b60405180910390f35b6101a960048036038101906101a4919061133d565b6106a9565b6040516101b69190611253565b60405180910390f35b6101c76106d8565b6040516101d491906113ac565b60405180910390f35b6101f760048036038101906101f291906113c7565b6106e1565b6040516102049190611322565b60405180910390f35b610215610729565b60405161022291906113f4565b60405180910390f35b61023361074f565b6040516102409190611178565b60405180910390f35b610263600480360381019061025e91906111f8565b6107e1565b6040516102709190611253565b60405180910390f35b610293600480360381019061028e91906113c7565b610804565b6040516102a09190611322565b60405180910390f35b6102c360048036038101906102be919061140f565b61081c565b6040516102d09190611322565b60405180910390f35b600073ffffffffffffffffffffffffffffffffffffffff166007600085815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461037e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103759061149b565b60405180910390fd5b6040518060a001604052808481526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018281525060076000858152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030155608082015181600401908161044891906116c7565b509050506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461049c91906117c8565b925050819055506104b533670de0b6b3a76400006108a3565b3373ffffffffffffffffffffffffffffffffffffffff167f0fa6157f4e9e99fb9310ffbda586ef6dacedf5e0d84f679f44e65ee1eb61687c8484846040516104ff939291906117fc565b60405180910390a2505050565b60606003805461051b906114ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610547906114ea565b80156105945780601f1061056957610100808354040283529160200191610594565b820191906000526020600020905b81548152906001019060200180831161057757829003601f168201915b5050505050905090565b6000806105a9610925565b90506105b681858561092d565b600191505092915050565b60076020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600301549080600401805461061c906114ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610648906114ea565b80156106955780601f1061066a57610100808354040283529160200191610695565b820191906000526020600020905b81548152906001019060200180831161067857829003601f168201915b5050505050905085565b6000600254905090565b6000806106b4610925565b90506106c185828561093f565b6106cc8585856109d4565b60019150509392505050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461075e906114ea565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906114ea565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b5050505050905090565b6000806107ec610925565b90506107f98185856109d4565b600191505092915050565b60066020528060005260406000206000915090505481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109155760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161090c91906113f4565b60405180910390fd5b61092160008383610ac8565b5050565b600033905090565b61093a8383836001610ced565b505050565b600061094b848461081c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156109ce57818110156109be578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016109b59392919061183a565b60405180910390fd5b6109cd84848484036000610ced565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a465760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a3d91906113f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab85760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610aaf91906113f4565b60405180910390fd5b610ac3838383610ac8565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b1a578060026000828254610b0e91906117c8565b92505081905550610bed565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ba6578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610b9d9392919061183a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c365780600260008282540392505081905550610c83565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ce09190611322565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d5f5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610d5691906113f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dd15760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610dc891906113f4565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610ebe578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610eb59190611322565b60405180910390a35b50505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610eeb81610ed8565b8114610ef657600080fd5b50565b600081359050610f0881610ee2565b92915050565b6000819050919050565b610f2181610f0e565b8114610f2c57600080fd5b50565b600081359050610f3e81610f18565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610f9782610f4e565b810181811067ffffffffffffffff82111715610fb657610fb5610f5f565b5b80604052505050565b6000610fc9610ec4565b9050610fd58282610f8e565b919050565b600067ffffffffffffffff821115610ff557610ff4610f5f565b5b610ffe82610f4e565b9050602081019050919050565b82818337600083830152505050565b600061102d61102884610fda565b610fbf565b90508281526020810184848401111561104957611048610f49565b5b61105484828561100b565b509392505050565b600082601f83011261107157611070610f44565b5b813561108184826020860161101a565b91505092915050565b6000806000606084860312156110a3576110a2610ece565b5b60006110b186828701610ef9565b93505060206110c286828701610f2f565b925050604084013567ffffffffffffffff8111156110e3576110e2610ed3565b5b6110ef8682870161105c565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b83811015611133578082015181840152602081019050611118565b60008484015250505050565b600061114a826110f9565b6111548185611104565b9350611164818560208601611115565b61116d81610f4e565b840191505092915050565b60006020820190508181036000830152611192818461113f565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111c58261119a565b9050919050565b6111d5816111ba565b81146111e057600080fd5b50565b6000813590506111f2816111cc565b92915050565b6000806040838503121561120f5761120e610ece565b5b600061121d858286016111e3565b925050602061122e85828601610ef9565b9150509250929050565b60008115159050919050565b61124d81611238565b82525050565b60006020820190506112686000830184611244565b92915050565b60006020828403121561128457611283610ece565b5b600061129284828501610ef9565b91505092915050565b6112a481610ed8565b82525050565b6112b381610f0e565b82525050565b6112c2816111ba565b82525050565b600060a0820190506112dd600083018861129b565b6112ea60208301876112aa565b6112f760408301866112b9565b611304606083018561129b565b8181036080830152611316818461113f565b90509695505050505050565b6000602082019050611337600083018461129b565b92915050565b60008060006060848603121561135657611355610ece565b5b6000611364868287016111e3565b9350506020611375868287016111e3565b925050604061138686828701610ef9565b9150509250925092565b600060ff82169050919050565b6113a681611390565b82525050565b60006020820190506113c1600083018461139d565b92915050565b6000602082840312156113dd576113dc610ece565b5b60006113eb848285016111e3565b91505092915050565b600060208201905061140960008301846112b9565b92915050565b6000806040838503121561142657611425610ece565b5b6000611434858286016111e3565b9250506020611445858286016111e3565b9150509250929050565b7f5461736b20616c726561647920636f6d706c6574656400000000000000000000600082015250565b6000611485601683611104565b91506114908261144f565b602082019050919050565b600060208201905081810360008301526114b481611478565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061150257607f821691505b602082108103611515576115146114bb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261157d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82611540565b6115878683611540565b95508019841693508086168417925050509392505050565b6000819050919050565b60006115c46115bf6115ba84610ed8565b61159f565b610ed8565b9050919050565b6000819050919050565b6115de836115a9565b6115f26115ea826115cb565b84845461154d565b825550505050565b600090565b6116076115fa565b6116128184846115d5565b505050565b5b818110156116365761162b6000826115ff565b600181019050611618565b5050565b601f82111561167b5761164c8161151b565b61165584611530565b81016020851015611664578190505b61167861167085611530565b830182611617565b50505b505050565b600082821c905092915050565b600061169e60001984600802611680565b1980831691505092915050565b60006116b7838361168d565b9150826002028217905092915050565b6116d0826110f9565b67ffffffffffffffff8111156116e9576116e8610f5f565b5b6116f382546114ea565b6116fe82828561163a565b600060209050601f831160018114611731576000841561171f578287015190505b61172985826116ab565b865550611791565b601f19841661173f8661151b565b60005b8281101561176757848901518255600182019150602085019450602081019050611742565b868310156117845784890151611780601f89168261168d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006117d382610ed8565b91506117de83610ed8565b92508282019050808211156117f6576117f5611799565b5b92915050565b6000606082019050611811600083018661129b565b61181e60208301856112aa565b8181036040830152611830818461113f565b9050949350505050565b600060608201905061184f60008301866112b9565b61185c602083018561129b565b611869604083018461129b565b94935050505056fea26469706673582212209984be054be556691949571d1c28c454bc3d2234f390749a56c14a878bfc8da664736f6c63430008180033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xCE JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0xBD4BBEB9 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2A9 JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x20D JUMPI PUSH2 0xCE JUMP JUMPDEST DUP1 PUSH3 0xA82C76 EQ PUSH2 0xD3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xEF JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x10D JUMPI DUP1 PUSH4 0x10A7FD7B EQ PUSH2 0x13D JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x171 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x18F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xED PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE8 SWAP2 SWAP1 PUSH2 0x108A JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xF7 PUSH2 0x50C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x104 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x127 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x122 SWAP2 SWAP1 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x134 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x157 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x152 SWAP2 SWAP1 PUSH2 0x126E JUMP JUMPDEST PUSH2 0x5C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x168 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x12C8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x179 PUSH2 0x69F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x186 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A4 SWAP2 SWAP1 PUSH2 0x133D JUMP JUMPDEST PUSH2 0x6A9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C7 PUSH2 0x6D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D4 SWAP2 SWAP1 PUSH2 0x13AC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F2 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH2 0x6E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x204 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x215 PUSH2 0x729 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x222 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x233 PUSH2 0x74F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x1178 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0x11F8 JUMP JUMPDEST PUSH2 0x7E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x270 SWAP2 SWAP1 PUSH2 0x1253 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x293 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28E SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH2 0x804 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0x140F JUMP JUMPDEST PUSH2 0x81C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2D0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x7 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x37E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x375 SWAP1 PUSH2 0x149B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SWAP1 DUP2 PUSH2 0x448 SWAP2 SWAP1 PUSH2 0x16C7 JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x17C8 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x4B5 CALLER PUSH8 0xDE0B6B3A7640000 PUSH2 0x8A3 JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFA6157F4E9E99FB9310FFBDA586EF6DACEDF5E0D84F679F44E65EE1EB61687C DUP5 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x4FF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x17FC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x51B SWAP1 PUSH2 0x14EA 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 0x547 SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x594 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x569 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x594 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 0x577 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5A9 PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x5B6 DUP2 DUP6 DUP6 PUSH2 0x92D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x61C SWAP1 PUSH2 0x14EA 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 0x648 SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x695 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x66A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x695 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 0x678 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6B4 PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x6C1 DUP6 DUP3 DUP6 PUSH2 0x93F JUMP JUMPDEST PUSH2 0x6CC DUP6 DUP6 DUP6 PUSH2 0x9D4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x75E SWAP1 PUSH2 0x14EA 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 0x78A SWAP1 PUSH2 0x14EA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x7D7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x7AC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x7D7 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 0x7BA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7EC PUSH2 0x925 JUMP JUMPDEST SWAP1 POP PUSH2 0x7F9 DUP2 DUP6 DUP6 PUSH2 0x9D4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x915 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x90C SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x921 PUSH1 0x0 DUP4 DUP4 PUSH2 0xAC8 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x93A DUP4 DUP4 DUP4 PUSH1 0x1 PUSH2 0xCED JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x94B DUP5 DUP5 PUSH2 0x81C JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x9CE JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x9BE JUMPI DUP3 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xFB8F41B200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9B5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x183A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9CD DUP5 DUP5 DUP5 DUP5 SUB PUSH1 0x0 PUSH2 0xCED JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xA46 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x96C6FD1E00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA3D SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xAB8 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xEC442F0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAAF SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAC3 DUP4 DUP4 DUP4 PUSH2 0xAC8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xB1A JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB0E SWAP2 SWAP1 PUSH2 0x17C8 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xBED JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xBA6 JUMPI DUP4 DUP2 DUP4 PUSH1 0x40 MLOAD PUSH32 0xE450D38C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB9D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x183A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP POP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xC36 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD SUB SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0xC83 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xCE0 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xD5F JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0xE602DF0500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD56 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0xDD1 JUMPI PUSH1 0x0 PUSH1 0x40 MLOAD PUSH32 0x94280D6200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDC8 SWAP2 SWAP1 PUSH2 0x13F4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP1 ISZERO PUSH2 0xEBE JUMPI DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEB5 SWAP2 SWAP1 PUSH2 0x1322 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xEEB DUP2 PUSH2 0xED8 JUMP JUMPDEST DUP2 EQ PUSH2 0xEF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF08 DUP2 PUSH2 0xEE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF21 DUP2 PUSH2 0xF0E JUMP JUMPDEST DUP2 EQ PUSH2 0xF2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xF3E DUP2 PUSH2 0xF18 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xF97 DUP3 PUSH2 0xF4E JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xFB6 JUMPI PUSH2 0xFB5 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFC9 PUSH2 0xEC4 JUMP JUMPDEST SWAP1 POP PUSH2 0xFD5 DUP3 DUP3 PUSH2 0xF8E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xFF5 JUMPI PUSH2 0xFF4 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST PUSH2 0xFFE DUP3 PUSH2 0xF4E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x102D PUSH2 0x1028 DUP5 PUSH2 0xFDA JUMP JUMPDEST PUSH2 0xFBF JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1049 JUMPI PUSH2 0x1048 PUSH2 0xF49 JUMP JUMPDEST JUMPDEST PUSH2 0x1054 DUP5 DUP3 DUP6 PUSH2 0x100B JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1071 JUMPI PUSH2 0x1070 PUSH2 0xF44 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1081 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x101A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A2 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x10B1 DUP7 DUP3 DUP8 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x10C2 DUP7 DUP3 DUP8 ADD PUSH2 0xF2F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x10E3 JUMPI PUSH2 0x10E2 PUSH2 0xED3 JUMP JUMPDEST JUMPDEST PUSH2 0x10EF DUP7 DUP3 DUP8 ADD PUSH2 0x105C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1133 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x114A DUP3 PUSH2 0x10F9 JUMP JUMPDEST PUSH2 0x1154 DUP2 DUP6 PUSH2 0x1104 JUMP JUMPDEST SWAP4 POP PUSH2 0x1164 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1115 JUMP JUMPDEST PUSH2 0x116D DUP2 PUSH2 0xF4E JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1192 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11C5 DUP3 PUSH2 0x119A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D5 DUP2 PUSH2 0x11BA JUMP JUMPDEST DUP2 EQ PUSH2 0x11E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11F2 DUP2 PUSH2 0x11CC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x120F JUMPI PUSH2 0x120E PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x121D DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x122E DUP6 DUP3 DUP7 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x124D DUP2 PUSH2 0x1238 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1268 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1244 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1284 JUMPI PUSH2 0x1283 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1292 DUP5 DUP3 DUP6 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x12A4 DUP2 PUSH2 0xED8 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12B3 DUP2 PUSH2 0xF0E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x12C2 DUP2 PUSH2 0x11BA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x12DD PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x12EA PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x12AA JUMP JUMPDEST PUSH2 0x12F7 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x12B9 JUMP JUMPDEST PUSH2 0x1304 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x129B JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x1316 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1337 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x129B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1356 JUMPI PUSH2 0x1355 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1364 DUP7 DUP3 DUP8 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1375 DUP7 DUP3 DUP8 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1386 DUP7 DUP3 DUP8 ADD PUSH2 0xEF9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13A6 DUP2 PUSH2 0x1390 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13C1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x139D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13DD JUMPI PUSH2 0x13DC PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x13EB DUP5 DUP3 DUP6 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1409 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x12B9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1426 JUMPI PUSH2 0x1425 PUSH2 0xECE JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1434 DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1445 DUP6 DUP3 DUP7 ADD PUSH2 0x11E3 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH32 0x5461736B20616C726561647920636F6D706C6574656400000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1485 PUSH1 0x16 DUP4 PUSH2 0x1104 JUMP JUMPDEST SWAP2 POP PUSH2 0x1490 DUP3 PUSH2 0x144F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14B4 DUP2 PUSH2 0x1478 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1502 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1515 JUMPI PUSH2 0x1514 PUSH2 0x14BB JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 DUP4 MUL PUSH2 0x157D PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x1540 JUMP JUMPDEST PUSH2 0x1587 DUP7 DUP4 PUSH2 0x1540 JUMP JUMPDEST SWAP6 POP DUP1 NOT DUP5 AND SWAP4 POP DUP1 DUP7 AND DUP5 OR SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15C4 PUSH2 0x15BF PUSH2 0x15BA DUP5 PUSH2 0xED8 JUMP JUMPDEST PUSH2 0x159F JUMP JUMPDEST PUSH2 0xED8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x15DE DUP4 PUSH2 0x15A9 JUMP JUMPDEST PUSH2 0x15F2 PUSH2 0x15EA DUP3 PUSH2 0x15CB JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x154D JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x1607 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0x1612 DUP2 DUP5 DUP5 PUSH2 0x15D5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x162B PUSH1 0x0 DUP3 PUSH2 0x15FF JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1618 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x167B JUMPI PUSH2 0x164C DUP2 PUSH2 0x151B JUMP JUMPDEST PUSH2 0x1655 DUP5 PUSH2 0x1530 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x1664 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x1678 PUSH2 0x1670 DUP6 PUSH2 0x1530 JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1617 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x169E PUSH1 0x0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1680 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16B7 DUP4 DUP4 PUSH2 0x168D JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x16D0 DUP3 PUSH2 0x10F9 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x16E9 JUMPI PUSH2 0x16E8 PUSH2 0xF5F JUMP JUMPDEST JUMPDEST PUSH2 0x16F3 DUP3 SLOAD PUSH2 0x14EA JUMP JUMPDEST PUSH2 0x16FE DUP3 DUP3 DUP6 PUSH2 0x163A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1731 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x171F JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x1729 DUP6 DUP3 PUSH2 0x16AB JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1791 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x173F DUP7 PUSH2 0x151B JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1767 JUMPI DUP5 DUP10 ADD MLOAD DUP3 SSTORE PUSH1 0x1 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP6 ADD SWAP5 POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1742 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1784 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1780 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x168D JUMP JUMPDEST DUP4 SSTORE POP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP9 MUL ADD DUP9 SSTORE POP POP POP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x17D3 DUP3 PUSH2 0xED8 JUMP JUMPDEST SWAP2 POP PUSH2 0x17DE DUP4 PUSH2 0xED8 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x17F6 JUMPI PUSH2 0x17F5 PUSH2 0x1799 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x1811 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x181E PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x12AA JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1830 DUP2 DUP5 PUSH2 0x113F JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x184F PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x12B9 JUMP JUMPDEST PUSH2 0x185C PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x129B JUMP JUMPDEST PUSH2 0x1869 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x129B JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP10 DUP5 0xBE SDIV 0x4B 0xE5 JUMP PUSH10 0x1949571D1C28C454BC3D 0x22 CALLVALUE RETURN SWAP1 PUSH21 0x9A56C14A878BFC8DA664736F6C6343000818003300 ","sourceMap":"115:1845:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1116:842;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1760:89:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3902:186;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;670:42:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;2803:97:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4680:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2688:82;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2933:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;149:20:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1962:93:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:178;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;304:44:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3455:140:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1116:842:5;1252:1;1218:36;;:6;:15;1225:7;1218:15;;;;;;;;;;;:22;;;;;;;;;;;;:36;;;1210:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1361:222;;;;;;;;1392:7;1361:222;;;;1430:6;1361:222;;;;1458:10;1361:222;;;;;;1493:15;1361:222;;;;1532:9;1361:222;;;1343:6;:15;1350:7;1343:15;;;;;;;;;;;:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1700:1;1675:9;:21;1685:10;1675:21;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;1782:29;1788:10;1800;1782:5;:29::i;:::-;1912:10;1899:52;;;1924:7;1933:6;1941:9;1899:52;;;;;;;;:::i;:::-;;;;;;;;1116:842;;;:::o;1760:89:1:-;1805:13;1837:5;1830:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1760:89;:::o;3902:186::-;3975:4;3991:13;4007:12;:10;:12::i;:::-;3991:28;;4029:31;4038:5;4045:7;4054:5;4029:8;:31::i;:::-;4077:4;4070:11;;;3902:186;;;;:::o;670:42:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2803:97:1:-;2855:7;2881:12;;2874:19;;2803:97;:::o;4680:244::-;4767:4;4783:15;4801:12;:10;:12::i;:::-;4783:30;;4823:37;4839:4;4845:7;4854:5;4823:15;:37::i;:::-;4870:26;4880:4;4886:2;4890:5;4870:9;:26::i;:::-;4913:4;4906:11;;;4680:244;;;;;:::o;2688:82::-;2737:5;2761:2;2754:9;;2688:82;:::o;2933:116::-;2998:7;3024:9;:18;3034:7;3024:18;;;;;;;;;;;;;;;;3017:25;;2933:116;;;:::o;149:20:5:-;;;;;;;;;;;;;:::o;1962:93:1:-;2009:13;2041:7;2034:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1962:93;:::o;3244:178::-;3313:4;3329:13;3345:12;:10;:12::i;:::-;3329:28;;3367:27;3377:5;3384:2;3388:5;3367:9;:27::i;:::-;3411:4;3404:11;;;3244:178;;;;:::o;304:44:5:-;;;;;;;;;;;;;;;;;:::o;3455:140:1:-;3535:7;3561:11;:18;3573:5;3561:18;;;;;;;;;;;;;;;:27;3580:7;3561:27;;;;;;;;;;;;;;;;3554:34;;3455:140;;;;:::o;7362:208::-;7451:1;7432:21;;:7;:21;;;7428:91;;7505:1;7476:32;;;;;;;;;;;:::i;:::-;;;;;;;;7428:91;7528:35;7544:1;7548:7;7557:5;7528:7;:35::i;:::-;7362:208;;:::o;656:96:4:-;709:7;735:10;728:17;;656:96;:::o;8630:128:1:-;8714:37;8723:5;8730:7;8739:5;8746:4;8714:8;:37::i;:::-;8630:128;;;:::o;10321:476::-;10420:24;10447:25;10457:5;10464:7;10447:9;:25::i;:::-;10420:52;;10505:17;10486:16;:36;10482:309;;;10561:5;10542:16;:24;10538:130;;;10620:7;10629:16;10647:5;10593:60;;;;;;;;;;;;;:::i;:::-;;;;;;;;10538:130;10709:57;10718:5;10725:7;10753:5;10734:16;:24;10760:5;10709:8;:57::i;:::-;10482:309;10410:387;10321:476;;;:::o;5297:300::-;5396:1;5380:18;;:4;:18;;;5376:86;;5448:1;5421:30;;;;;;;;;;;:::i;:::-;;;;;;;;5376:86;5489:1;5475:16;;:2;:16;;;5471:86;;5543:1;5514:32;;;;;;;;;;;:::i;:::-;;;;;;;;5471:86;5566:24;5574:4;5580:2;5584:5;5566:7;:24::i;:::-;5297:300;;;:::o;5912:1107::-;6017:1;6001:18;;:4;:18;;;5997:540;;6153:5;6137:12;;:21;;;;;;;:::i;:::-;;;;;;;;5997:540;;;6189:19;6211:9;:15;6221:4;6211:15;;;;;;;;;;;;;;;;6189:37;;6258:5;6244:11;:19;6240:115;;;6315:4;6321:11;6334:5;6290:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;6240:115;6507:5;6493:11;:19;6475:9;:15;6485:4;6475:15;;;;;;;;;;;;;;;:37;;;;6175:362;5997:540;6565:1;6551:16;;:2;:16;;;6547:425;;6730:5;6714:12;;:21;;;;;;;;;;;6547:425;;;6942:5;6925:9;:13;6935:2;6925:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;6547:425;7002:2;6987:25;;6996:4;6987:25;;;7006:5;6987:25;;;;;;:::i;:::-;;;;;;;;5912:1107;;;:::o;9607:432::-;9736:1;9719:19;;:5;:19;;;9715:89;;9790:1;9761:32;;;;;;;;;;;:::i;:::-;;;;;;;;9715:89;9836:1;9817:21;;:7;:21;;;9813:90;;9889:1;9861:31;;;;;;;;;;;:::i;:::-;;;;;;;;9813:90;9942:5;9912:11;:18;9924:5;9912:18;;;;;;;;;;;;;;;:27;9931:7;9912:27;;;;;;;;;;;;;;;:35;;;;9961:9;9957:76;;;10007:7;9991:31;;10000:5;9991:31;;;10016:5;9991:31;;;;;;:::i;:::-;;;;;;;;9957:76;9607:432;;;;:::o;7:75:6:-;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:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:76::-;726:7;755:5;744:16;;690:76;;;:::o;772:120::-;844:23;861:5;844:23;:::i;:::-;837:5;834:34;824:62;;882:1;879;872:12;824:62;772:120;:::o;898:137::-;943:5;981:6;968:20;959:29;;997:32;1023:5;997:32;:::i;:::-;898:137;;;;:::o;1041:117::-;1150:1;1147;1140:12;1164:117;1273:1;1270;1263:12;1287:102;1328:6;1379:2;1375:7;1370:2;1363:5;1359:14;1355:28;1345:38;;1287:102;;;:::o;1395:180::-;1443:77;1440:1;1433:88;1540:4;1537:1;1530:15;1564:4;1561:1;1554:15;1581:281;1664:27;1686:4;1664:27;:::i;:::-;1656:6;1652:40;1794:6;1782:10;1779:22;1758:18;1746:10;1743:34;1740:62;1737:88;;;1805:18;;:::i;:::-;1737:88;1845:10;1841:2;1834:22;1624:238;1581:281;;:::o;1868:129::-;1902:6;1929:20;;:::i;:::-;1919:30;;1958:33;1986:4;1978:6;1958:33;:::i;:::-;1868:129;;;:::o;2003:308::-;2065:4;2155:18;2147:6;2144:30;2141:56;;;2177:18;;:::i;:::-;2141:56;2215:29;2237:6;2215:29;:::i;:::-;2207:37;;2299:4;2293;2289:15;2281:23;;2003:308;;;:::o;2317:146::-;2414:6;2409:3;2404;2391:30;2455:1;2446:6;2441:3;2437:16;2430:27;2317:146;;;:::o;2469:425::-;2547:5;2572:66;2588:49;2630:6;2588:49;:::i;:::-;2572:66;:::i;:::-;2563:75;;2661:6;2654:5;2647:21;2699:4;2692:5;2688:16;2737:3;2728:6;2723:3;2719:16;2716:25;2713:112;;;2744:79;;:::i;:::-;2713:112;2834:54;2881:6;2876:3;2871;2834:54;:::i;:::-;2553:341;2469:425;;;;;:::o;2914:340::-;2970:5;3019:3;3012:4;3004:6;3000:17;2996:27;2986:122;;3027:79;;:::i;:::-;2986:122;3144:6;3131:20;3169:79;3244:3;3236:6;3229:4;3221:6;3217:17;3169:79;:::i;:::-;3160:88;;2976:278;2914:340;;;;:::o;3260:797::-;3346:6;3354;3362;3411:2;3399:9;3390:7;3386:23;3382:32;3379:119;;;3417:79;;:::i;:::-;3379:119;3537:1;3562:53;3607:7;3598:6;3587:9;3583:22;3562:53;:::i;:::-;3552:63;;3508:117;3664:2;3690:52;3734:7;3725:6;3714:9;3710:22;3690:52;:::i;:::-;3680:62;;3635:117;3819:2;3808:9;3804:18;3791:32;3850:18;3842:6;3839:30;3836:117;;;3872:79;;:::i;:::-;3836:117;3977:63;4032:7;4023:6;4012:9;4008:22;3977:63;:::i;:::-;3967:73;;3762:288;3260:797;;;;;:::o;4063:99::-;4115:6;4149:5;4143:12;4133:22;;4063:99;;;:::o;4168:169::-;4252:11;4286:6;4281:3;4274:19;4326:4;4321:3;4317:14;4302:29;;4168:169;;;;:::o;4343:246::-;4424:1;4434:113;4448:6;4445:1;4442:13;4434:113;;;4533:1;4528:3;4524:11;4518:18;4514:1;4509:3;4505:11;4498:39;4470:2;4467:1;4463:10;4458:15;;4434:113;;;4581:1;4572:6;4567:3;4563:16;4556:27;4405:184;4343:246;;;:::o;4595:377::-;4683:3;4711:39;4744:5;4711:39;:::i;:::-;4766:71;4830:6;4825:3;4766:71;:::i;:::-;4759:78;;4846:65;4904:6;4899:3;4892:4;4885:5;4881:16;4846:65;:::i;:::-;4936:29;4958:6;4936:29;:::i;:::-;4931:3;4927:39;4920:46;;4687:285;4595:377;;;;:::o;4978:313::-;5091:4;5129:2;5118:9;5114:18;5106:26;;5178:9;5172:4;5168:20;5164:1;5153:9;5149:17;5142:47;5206:78;5279:4;5270:6;5206:78;:::i;:::-;5198:86;;4978:313;;;;:::o;5297:126::-;5334:7;5374:42;5367:5;5363:54;5352:65;;5297:126;;;:::o;5429:96::-;5466:7;5495:24;5513:5;5495:24;:::i;:::-;5484:35;;5429:96;;;:::o;5531:122::-;5604:24;5622:5;5604:24;:::i;:::-;5597:5;5594:35;5584:63;;5643:1;5640;5633:12;5584:63;5531:122;:::o;5659:139::-;5705:5;5743:6;5730:20;5721:29;;5759:33;5786:5;5759:33;:::i;:::-;5659:139;;;;:::o;5804:474::-;5872:6;5880;5929:2;5917:9;5908:7;5904:23;5900:32;5897:119;;;5935:79;;:::i;:::-;5897:119;6055:1;6080:53;6125:7;6116:6;6105:9;6101:22;6080:53;:::i;:::-;6070:63;;6026:117;6182:2;6208:53;6253:7;6244:6;6233:9;6229:22;6208:53;:::i;:::-;6198:63;;6153:118;5804:474;;;;;:::o;6284:90::-;6318:7;6361:5;6354:13;6347:21;6336:32;;6284:90;;;:::o;6380:109::-;6461:21;6476:5;6461:21;:::i;:::-;6456:3;6449:34;6380:109;;:::o;6495:210::-;6582:4;6620:2;6609:9;6605:18;6597:26;;6633:65;6695:1;6684:9;6680:17;6671:6;6633:65;:::i;:::-;6495:210;;;;:::o;6711:329::-;6770:6;6819:2;6807:9;6798:7;6794:23;6790:32;6787:119;;;6825:79;;:::i;:::-;6787:119;6945:1;6970:53;7015:7;7006:6;6995:9;6991:22;6970:53;:::i;:::-;6960:63;;6916:117;6711:329;;;;:::o;7046:118::-;7133:24;7151:5;7133:24;:::i;:::-;7128:3;7121:37;7046:118;;:::o;7170:115::-;7255:23;7272:5;7255:23;:::i;:::-;7250:3;7243:36;7170:115;;:::o;7291:118::-;7378:24;7396:5;7378:24;:::i;:::-;7373:3;7366:37;7291:118;;:::o;7415:751::-;7638:4;7676:3;7665:9;7661:19;7653:27;;7690:71;7758:1;7747:9;7743:17;7734:6;7690:71;:::i;:::-;7771:70;7837:2;7826:9;7822:18;7813:6;7771:70;:::i;:::-;7851:72;7919:2;7908:9;7904:18;7895:6;7851:72;:::i;:::-;7933;8001:2;7990:9;7986:18;7977:6;7933:72;:::i;:::-;8053:9;8047:4;8043:20;8037:3;8026:9;8022:19;8015:49;8081:78;8154:4;8145:6;8081:78;:::i;:::-;8073:86;;7415:751;;;;;;;;:::o;8172:222::-;8265:4;8303:2;8292:9;8288:18;8280:26;;8316:71;8384:1;8373:9;8369:17;8360:6;8316:71;:::i;:::-;8172:222;;;;:::o;8400:619::-;8477:6;8485;8493;8542:2;8530:9;8521:7;8517:23;8513:32;8510:119;;;8548:79;;:::i;:::-;8510:119;8668:1;8693:53;8738:7;8729:6;8718:9;8714:22;8693:53;:::i;:::-;8683:63;;8639:117;8795:2;8821:53;8866:7;8857:6;8846:9;8842:22;8821:53;:::i;:::-;8811:63;;8766:118;8923:2;8949:53;8994:7;8985:6;8974:9;8970:22;8949:53;:::i;:::-;8939:63;;8894:118;8400:619;;;;;:::o;9025:86::-;9060:7;9100:4;9093:5;9089:16;9078:27;;9025:86;;;:::o;9117:112::-;9200:22;9216:5;9200:22;:::i;:::-;9195:3;9188:35;9117:112;;:::o;9235:214::-;9324:4;9362:2;9351:9;9347:18;9339:26;;9375:67;9439:1;9428:9;9424:17;9415:6;9375:67;:::i;:::-;9235:214;;;;:::o;9455:329::-;9514:6;9563:2;9551:9;9542:7;9538:23;9534:32;9531:119;;;9569:79;;:::i;:::-;9531:119;9689:1;9714:53;9759:7;9750:6;9739:9;9735:22;9714:53;:::i;:::-;9704:63;;9660:117;9455:329;;;;:::o;9790:222::-;9883:4;9921:2;9910:9;9906:18;9898:26;;9934:71;10002:1;9991:9;9987:17;9978:6;9934:71;:::i;:::-;9790:222;;;;:::o;10018:474::-;10086:6;10094;10143:2;10131:9;10122:7;10118:23;10114:32;10111:119;;;10149:79;;:::i;:::-;10111:119;10269:1;10294:53;10339:7;10330:6;10319:9;10315:22;10294:53;:::i;:::-;10284:63;;10240:117;10396:2;10422:53;10467:7;10458:6;10447:9;10443:22;10422:53;:::i;:::-;10412:63;;10367:118;10018:474;;;;;:::o;10498:172::-;10638:24;10634:1;10626:6;10622:14;10615:48;10498:172;:::o;10676:366::-;10818:3;10839:67;10903:2;10898:3;10839:67;:::i;:::-;10832:74;;10915:93;11004:3;10915:93;:::i;:::-;11033:2;11028:3;11024:12;11017:19;;10676:366;;;:::o;11048:419::-;11214:4;11252:2;11241:9;11237:18;11229:26;;11301:9;11295:4;11291:20;11287:1;11276:9;11272:17;11265:47;11329:131;11455:4;11329:131;:::i;:::-;11321:139;;11048:419;;;:::o;11473:180::-;11521:77;11518:1;11511:88;11618:4;11615:1;11608:15;11642:4;11639:1;11632:15;11659:320;11703:6;11740:1;11734:4;11730:12;11720:22;;11787:1;11781:4;11777:12;11808:18;11798:81;;11864:4;11856:6;11852:17;11842:27;;11798:81;11926:2;11918:6;11915:14;11895:18;11892:38;11889:84;;11945:18;;:::i;:::-;11889:84;11710:269;11659:320;;;:::o;11985:141::-;12034:4;12057:3;12049:11;;12080:3;12077:1;12070:14;12114:4;12111:1;12101:18;12093:26;;11985:141;;;:::o;12132:93::-;12169:6;12216:2;12211;12204:5;12200:14;12196:23;12186:33;;12132:93;;;:::o;12231:107::-;12275:8;12325:5;12319:4;12315:16;12294:37;;12231:107;;;;:::o;12344:393::-;12413:6;12463:1;12451:10;12447:18;12486:97;12516:66;12505:9;12486:97;:::i;:::-;12604:39;12634:8;12623:9;12604:39;:::i;:::-;12592:51;;12676:4;12672:9;12665:5;12661:21;12652:30;;12725:4;12715:8;12711:19;12704:5;12701:30;12691:40;;12420:317;;12344:393;;;;;:::o;12743:60::-;12771:3;12792:5;12785:12;;12743:60;;;:::o;12809:142::-;12859:9;12892:53;12910:34;12919:24;12937:5;12919:24;:::i;:::-;12910:34;:::i;:::-;12892:53;:::i;:::-;12879:66;;12809:142;;;:::o;12957:75::-;13000:3;13021:5;13014:12;;12957:75;;;:::o;13038:269::-;13148:39;13179:7;13148:39;:::i;:::-;13209:91;13258:41;13282:16;13258:41;:::i;:::-;13250:6;13243:4;13237:11;13209:91;:::i;:::-;13203:4;13196:105;13114:193;13038:269;;;:::o;13313:73::-;13358:3;13313:73;:::o;13392:189::-;13469:32;;:::i;:::-;13510:65;13568:6;13560;13554:4;13510:65;:::i;:::-;13445:136;13392:189;;:::o;13587:186::-;13647:120;13664:3;13657:5;13654:14;13647:120;;;13718:39;13755:1;13748:5;13718:39;:::i;:::-;13691:1;13684:5;13680:13;13671:22;;13647:120;;;13587:186;;:::o;13779:543::-;13880:2;13875:3;13872:11;13869:446;;;13914:38;13946:5;13914:38;:::i;:::-;13998:29;14016:10;13998:29;:::i;:::-;13988:8;13984:44;14181:2;14169:10;14166:18;14163:49;;;14202:8;14187:23;;14163:49;14225:80;14281:22;14299:3;14281:22;:::i;:::-;14271:8;14267:37;14254:11;14225:80;:::i;:::-;13884:431;;13869:446;13779:543;;;:::o;14328:117::-;14382:8;14432:5;14426:4;14422:16;14401:37;;14328:117;;;;:::o;14451:169::-;14495:6;14528:51;14576:1;14572:6;14564:5;14561:1;14557:13;14528:51;:::i;:::-;14524:56;14609:4;14603;14599:15;14589:25;;14502:118;14451:169;;;;:::o;14625:295::-;14701:4;14847:29;14872:3;14866:4;14847:29;:::i;:::-;14839:37;;14909:3;14906:1;14902:11;14896:4;14893:21;14885:29;;14625:295;;;;:::o;14925:1395::-;15042:37;15075:3;15042:37;:::i;:::-;15144:18;15136:6;15133:30;15130:56;;;15166:18;;:::i;:::-;15130:56;15210:38;15242:4;15236:11;15210:38;:::i;:::-;15295:67;15355:6;15347;15341:4;15295:67;:::i;:::-;15389:1;15413:4;15400:17;;15445:2;15437:6;15434:14;15462:1;15457:618;;;;16119:1;16136:6;16133:77;;;16185:9;16180:3;16176:19;16170:26;16161:35;;16133:77;16236:67;16296:6;16289:5;16236:67;:::i;:::-;16230:4;16223:81;16092:222;15427:887;;15457:618;15509:4;15505:9;15497:6;15493:22;15543:37;15575:4;15543:37;:::i;:::-;15602:1;15616:208;15630:7;15627:1;15624:14;15616:208;;;15709:9;15704:3;15700:19;15694:26;15686:6;15679:42;15760:1;15752:6;15748:14;15738:24;;15807:2;15796:9;15792:18;15779:31;;15653:4;15650:1;15646:12;15641:17;;15616:208;;;15852:6;15843:7;15840:19;15837:179;;;15910:9;15905:3;15901:19;15895:26;15953:48;15995:4;15987:6;15983:17;15972:9;15953:48;:::i;:::-;15945:6;15938:64;15860:156;15837:179;16062:1;16058;16050:6;16046:14;16042:22;16036:4;16029:36;15464:611;;;15427:887;;15017:1303;;;14925:1395;;:::o;16326:180::-;16374:77;16371:1;16364:88;16471:4;16468:1;16461:15;16495:4;16492:1;16485:15;16512:191;16552:3;16571:20;16589:1;16571:20;:::i;:::-;16566:25;;16605:20;16623:1;16605:20;:::i;:::-;16600:25;;16648:1;16645;16641:9;16634:16;;16669:3;16666:1;16663:10;16660:36;;;16676:18;;:::i;:::-;16660:36;16512:191;;;;:::o;16709:529::-;16876:4;16914:2;16903:9;16899:18;16891:26;;16927:71;16995:1;16984:9;16980:17;16971:6;16927:71;:::i;:::-;17008:70;17074:2;17063:9;17059:18;17050:6;17008:70;:::i;:::-;17125:9;17119:4;17115:20;17110:2;17099:9;17095:18;17088:48;17153:78;17226:4;17217:6;17153:78;:::i;:::-;17145:86;;16709:529;;;;;;:::o;17244:442::-;17393:4;17431:2;17420:9;17416:18;17408:26;;17444:71;17512:1;17501:9;17497:17;17488:6;17444:71;:::i;:::-;17525:72;17593:2;17582:9;17578:18;17569:6;17525:72;:::i;:::-;17607;17675:2;17664:9;17660:18;17651:6;17607:72;:::i;:::-;17244:442;;;;;;:::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","ledger(uint256)":"10a7fd7b","name()":"06fdde03","owner()":"8da5cb5b","submitWork(uint256,int256,string)":"00a82c76","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","ubiEarned(address)":"bd4bbeb9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"worker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"score\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fileHash\",\"type\":\"string\"}],\"name\":\"WorkVerified\",\"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\":\"value\",\"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\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ledger\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"predictionScore\",\"type\":\"int256\"},{\"internalType\":\"address\",\"name\":\"worker\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"fileHash\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"_taskId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_score\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"_fileHash\",\"type\":\"string\"}],\"name\":\"submitWork\",\"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\":\"value\",\"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\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"ubiEarned\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"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\":\"See {IERC20-approve}. NOTE: If `value` 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\":\"Returns the value of tokens owned by `account`.\"},\"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 default value returned by this function, unless it's 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}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"submitWork(uint256,int256,string)\":{\"details\":\"This is the function your Pixel 10 calls. <-- ADDED string memory _fileHash to the required parameters\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. 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 `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/EdgeSwarm.sol\":\"EdgeSwarm\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x1b88b3fb3d85ba5496d7d5f396f83ee1fddcdd6762059ff65992655b67920998\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89393bb3212da1c0889601b9706a07b39419ddc4d2faab9eaf6e7f9152cf6a1c\",\"dweb:/ipfs/QmcCfzzxv1Bkdz1c1yF4gQCeYb6Us5BJANnzTFqawfd1HL\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x669464167428061ee0f8618b73b3ee90aff8405683e7ddde8cd77dadaa1afe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dda78587a7358b4fdf6b9fca0fde5a5e34930f36d5268a16028627fc0170195\",\"dweb:/ipfs/QmQ1b6cCceDRWNxti9HifsTCzmVP25Haxs1bWugm52vTqH\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"contracts/EdgeSwarm.sol\":{\"keccak256\":\"0x252655f8e78c741d02a359e522e8685141cc078863e823e08c30468933741e3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f07e4bc81788e79bdefaac26a710b257614b70f85138a09c5ba0e0b5f66dbbe4\",\"dweb:/ipfs/QmSTBrAfHaiAJDfbddfYEhMfH4hNHe232Rusppp13hs2uq\"]}},\"version\":1}"}}}}}