diff --git a/config/chains.json b/config/chains.json new file mode 100644 index 0000000..ccdca8b --- /dev/null +++ b/config/chains.json @@ -0,0 +1,7 @@ +[ + { + "id": 421613, + "key": "0xd9ed33809372932059c1ba7b336a33f406b4c55e7430daef8297134c67429d60", + "wallet": "0xE68F149daF2F314d9960c08496D8701BC7671850" + } +] diff --git a/config/events.json b/config/events.json new file mode 100644 index 0000000..2c8adb3 --- /dev/null +++ b/config/events.json @@ -0,0 +1,10 @@ +[ + { + "address": "0xE68F149daF2F314d9960c08496D8701BC7671850", + "event": "Confirmation", + "abi": "BEMultiSigWallet", + "fromBlock": 30117942, + "eventProcesser": "ScheduleConfirmEvent", + "chain": 421613 + } +] diff --git a/src/abis/BEBadge.json b/src/abis/BEBadge.json index 15c5723..9ebce7b 100644 --- a/src/abis/BEBadge.json +++ b/src/abis/BEBadge.json @@ -72,25 +72,6 @@ "name": "ApprovalForAll", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "tokenIds", - "type": "uint256[]" - } - ], - "name": "BatchMint", - "type": "event" - }, { "anonymous": false, "inputs": [ @@ -228,8 +209,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -242,8 +222,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -256,8 +235,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -270,8 +248,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -308,8 +285,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -328,8 +304,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -348,8 +323,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -391,8 +365,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -416,8 +389,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -436,8 +408,20 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" + }, + { + "inputs": [], + "name": "maxBatchSize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" }, { "inputs": [], @@ -450,8 +434,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -470,8 +453,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -551,7 +533,7 @@ }, { "internalType": "bytes", - "name": "_data", + "name": "data", "type": "bytes" } ], @@ -589,8 +571,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -603,8 +584,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -623,8 +603,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -648,28 +627,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [], @@ -682,8 +640,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -708,19 +665,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI_", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -849,6 +793,32 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "metaAddress", + "type": "address" + } + ], + "name": "updateMetaAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "valNew", + "type": "uint256" + } + ], + "name": "updateBatchLimit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -857,29 +827,15 @@ "type": "uint256" } ], - "name": "isLocked", + "name": "tokenURI", "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ { "internalType": "string", - "name": "baseTokenURI", + "name": "", "type": "string" } ], - "name": "updateBaseURI", - "outputs": [], - "stateMutability": "nonpayable", + "stateMutability": "view", "type": "function" }, { @@ -899,8 +855,7 @@ } ], "stateMutability": "view", - "type": "function", - "constant": true + "type": "function" }, { "inputs": [ @@ -921,22 +876,22 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"BatchMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"grantLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"isLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchMint(address,uint256)\":{\"details\":\"Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100.\"},\"burn(address,uint256)\":{\"details\":\"Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantLockRole(address)\":{\"details\":\"Add address for lock item\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"isLocked(uint256)\":{\"details\":\"Get lock status\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setBurnRole(address)\":{\"details\":\"grant burn role to address\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/BEBadge.sol\":\"BEBadge\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x11b84bb56dc112a6590bfe3e0efa118aa1b5891132342200d04c4ef544cb93de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbc4803332d45dff58f865ed21c942fe4668e47cc7196c8dfe84102040b1d70f\",\"dweb:/ipfs/QmXhZLsocznRWCSyhjo3vo66Z1VsuuNptAVb6ASPYsWtGx\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0x0a79511df8151b10b0a0004d6a76ad956582d32824af4c0f4886bdbdfe5746e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afbedcf17f31db719e6fdc56caa8f458799c5fa2eb94cb1e94ef18f89af85768\",\"dweb:/ipfs/QmVmqRdBfbgYThpZSoAJ5o9mnAMjx8mCHHjv3Rh8cQAAg3\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"project:/contracts/tokens/erc721/BEBadge.sol\":{\"keccak256\":\"0xe5962fb97e2ace8469d1c076c197b6e2400d7984d85202ac26d59e59be247bf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63f102e275b7809582f5f8ea89bf633396cbd9d4296a25cb11966746cab8cf99\",\"dweb:/ipfs/QmRNGRp8jeoyNcYx6u6Tvf1GsA3ZwBYqkdns3tbDfvooGR\"]}},\"version\":1}", - "bytecode": "0x60a06040526040518060600160405280602781526020016200564060279139600c908051906020019062000035929190620003f5565b503480156200004357600080fd5b50604051620056673803806200566783398181016040528101906200006991906200067d565b8282816001908051906020019062000083929190620003f5565b5080600290805190602001906200009c929190620003f5565b505050620000d47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b620001fa60201b60201c565b620001097fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b620001fa60201b60201c565b6200013e7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b620001fa60201b60201c565b620001536000801b336200025d60201b60201c565b620001857f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200025d60201b60201c565b620001b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22336200025d60201b60201c565b620001e97fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751336200025d60201b60201c565b80608081815250505050506200077c565b60006200020d836200027360201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200026f82826200029260201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002a482826200038360201b60201c565b6200037f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000324620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620004039062000746565b90600052602060002090601f01602090048101928262000427576000855562000473565b82601f106200044257805160ff191683800117855562000473565b8280016001018555821562000473579182015b828111156200047257825182559160200191906001019062000455565b5b50905062000482919062000486565b5090565b5b80821115620004a157600081600090555060010162000487565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050e82620004c3565b810181811067ffffffffffffffff8211171562000530576200052f620004d4565b5b80604052505050565b600062000545620004a5565b905062000553828262000503565b919050565b600067ffffffffffffffff821115620005765762000575620004d4565b5b6200058182620004c3565b9050602081019050919050565b60005b83811015620005ae57808201518184015260208101905062000591565b83811115620005be576000848401525b50505050565b6000620005db620005d58462000558565b62000539565b905082815260208101848484011115620005fa57620005f9620004be565b5b620006078482856200058e565b509392505050565b600082601f830112620006275762000626620004b9565b5b815162000639848260208601620005c4565b91505092915050565b6000819050919050565b620006578162000642565b81146200066357600080fd5b50565b60008151905062000677816200064c565b92915050565b600080600060608486031215620006995762000698620004af565b5b600084015167ffffffffffffffff811115620006ba57620006b9620004b4565b5b620006c8868287016200060f565b935050602084015167ffffffffffffffff811115620006ec57620006eb620004b4565b5b620006fa868287016200060f565b92505060406200070d8682870162000666565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200075f57607f821691505b6020821081141562000776576200077562000717565b5b50919050565b608051614e9a620007a660003960008181610a1101528181610d1d0152610d440152614e9a6000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106f9578063dcec329414610715578063dd46706414610745578063e985e9c514610761578063f6aacfb11461079157610248565b8063ace9e2e214610655578063b88d4fde14610671578063b930908f1461068d578063c87b56dd146106ab578063d5391393146106db57610248565b806395d89b41116100ff57806395d89b41146105c5578063965f4c60146105e35780639dc29fac146105ff578063a217fddf1461061b578063a22cb4651461063957610248565b80636352211e146104fd57806370a082311461052d57806379deb6e71461055d57806391d1485414610579578063931688cb146105a957610248565b80632f2ff15d116101c957806343508b051161018d57806343508b05146104495780634f6ccce714610479578063530dd079146104a957806355f804b3146104c55780636198e339146104e157610248565b80632f2ff15d146103a95780632f745c59146103c5578063327ba615146103f557806336568abe1461041157806342842e0e1461042d57610248565b806319d1997a1161021057806319d1997a146103055780631cf4e3ee1461032357806323b872dd1461033f578063248a9ca31461035b5780632f286b1b1461038b57610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b578063095ea7b3146102cb57806318160ddd146102e7575b600080fd5b61026760048036038101906102629190613340565b6107c1565b6040516102749190613388565b60405180910390f35b6102856107d3565b604051610292919061343c565b60405180910390f35b6102b560048036038101906102b09190613494565b610865565b6040516102c29190613502565b60405180910390f35b6102e560048036038101906102e09190613549565b6108ea565b005b6102ef610a02565b6040516102fc9190613598565b60405180910390f35b61030d610a0f565b60405161031a9190613598565b60405180910390f35b61033d600480360381019061033891906135b3565b610a33565b005b610359600480360381019061035491906135e0565b610a60565b005b61037560048036038101906103709190613669565b610ac0565b60405161038291906136a5565b60405180910390f35b610393610adf565b6040516103a091906136a5565b60405180910390f35b6103c360048036038101906103be91906136c0565b610b03565b005b6103df60048036038101906103da9190613549565b610b2c565b6040516103ec9190613598565b60405180910390f35b61040f600480360381019061040a91906135b3565b610bd1565b005b61042b600480360381019061042691906136c0565b610bfe565b005b610447600480360381019061044291906135e0565b610c81565b005b610463600480360381019061045e9190613549565b610ca1565b60405161047091906137be565b60405180910390f35b610493600480360381019061048e9190613494565b610ec9565b6040516104a09190613598565b60405180910390f35b6104c360048036038101906104be91906135b3565b610f3a565b005b6104df60048036038101906104da9190613915565b610f67565b005b6104fb60048036038101906104f69190613494565b610f97565b005b61051760048036038101906105129190613494565b6110ce565b6040516105249190613502565b60405180910390f35b610547600480360381019061054291906135b3565b611180565b6040516105549190613598565b60405180910390f35b610577600480360381019061057291906135b3565b611238565b005b610593600480360381019061058e91906136c0565b611265565b6040516105a09190613388565b60405180910390f35b6105c360048036038101906105be91906139be565b6112cf565b005b6105cd6112fb565b6040516105da919061343c565b60405180910390f35b6105fd60048036038101906105f891906135b3565b61138d565b005b61061960048036038101906106149190613549565b6113ba565b005b610623611519565b60405161063091906136a5565b60405180910390f35b610653600480360381019061064e9190613a37565b611520565b005b61066f600480360381019061066a91906135b3565b611536565b005b61068b60048036038101906106869190613b18565b611563565b005b6106956115c5565b6040516106a291906136a5565b60405180910390f35b6106c560048036038101906106c09190613494565b6115e9565b6040516106d2919061343c565b60405180910390f35b6106e3611690565b6040516106f091906136a5565b60405180910390f35b610713600480360381019061070e91906136c0565b6116b4565b005b61072f600480360381019061072a9190613494565b6116dd565b60405161073c9190613388565b60405180910390f35b61075f600480360381019061075a9190613494565b6116fd565b005b61077b60048036038101906107769190613b9b565b611835565b6040516107889190613388565b60405180910390f35b6107ab60048036038101906107a69190613494565b6118c9565b6040516107b89190613388565b60405180910390f35b60006107cc826118f3565b9050919050565b6060600180546107e290613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90613c0a565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b60006108708261196d565b6108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690613cae565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108f5826110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613d40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109856119d9565b73ffffffffffffffffffffffffffffffffffffffff1614806109b457506109b3816109ae6119d9565b611835565b5b6109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea90613dd2565b60405180910390fd5b6109fd83836119e1565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a5d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b4565b50565b610a71610a6b6119d9565b82611a9a565b610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613e64565b60405180910390fd5b610abb838383611b78565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b0c82610ac0565b610b1d81610b186119d9565b611ddf565b610b278383611e7c565b505050565b6000610b3783611180565b8210610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90613ef6565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bfb7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b03565b50565b610c066119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90613f88565b60405180910390fd5b610c7d8282611f5c565b5050565b610c9c83838360405180602001604052806000815250611563565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd581610cd06119d9565b611ddf565b6064831115610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090613ff4565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610db8577f000000000000000000000000000000000000000000000000000000000000000083610d6c610a02565b610d769190614043565b1115610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae906140e5565b60405180910390fd5b5b60008367ffffffffffffffff811115610dd457610dd36137ea565b5b604051908082528060200260200182016040528015610e025781602001602082028036833780820191505090505b50905060005b84811015610e6f576001600d6000828254610e239190614043565b925050819055506000600d549050610e3b878261203d565b80838381518110610e4f57610e4e614105565b5b602002602001018181525050508080610e6790614134565b915050610e08565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610eb691906137be565b60405180910390a2809250505092915050565b6000610ed3610a02565b8210610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b906141ef565b60405180910390fd5b60098281548110610f2857610f27614105565b5b90600052602060002001549050919050565b610f647f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b03565b50565b6000801b610f7c81610f776119d9565b611ddf565b81600c9080519060200190610f929291906131ab565b505050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610fc981610fc46119d9565b611ddf565b610fd28261196d565b611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16611071576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611068906142c7565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90614359565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e8906143eb565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112627fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b4565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e4816112df6119d9565b611ddf565b8282600c91906112f5929190613231565b50505050565b60606002805461130a90613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461133690613c0a565b80156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b5050505050905090565b6113b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b4565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226113ec816113e76119d9565b611ddf565b6113f58261196d565b611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90614457565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c906144c3565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114b5836110ce565b73ffffffffffffffffffffffffffffffffffffffff161461150b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150290614555565b60405180910390fd5b6115148261205b565b505050565b6000801b81565b61153261152b6119d9565b8383612178565b5050565b6115607fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b03565b50565b61157461156e6119d9565b83611a9a565b6115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90613e64565b60405180910390fd5b6115bf848484846122e5565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115f48261196d565b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906145e7565b60405180910390fd5b600061163d612341565b9050600081511161165d5760405180602001604052806000815250611688565b80611667846123d3565b604051602001611678929190614643565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bd82610ac0565b6116ce816116c96119d9565b611ddf565b6116d88383611f5c565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161172f8161172a6119d9565b611ddf565b6117388261196d565b611777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176e9061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf906146b3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611966575061196582612534565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a54836110ce565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611aa58261196d565b611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90614745565b60405180910390fd5b6000611aef836110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b5e57508373ffffffffffffffffffffffffffffffffffffffff16611b4684610865565b73ffffffffffffffffffffffffffffffffffffffff16145b80611b6f5750611b6e8185611835565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b98826110ce565b73ffffffffffffffffffffffffffffffffffffffff1614611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be5906147d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590614869565b60405180910390fd5b611c69838383612616565b611c746000826119e1565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cc49190614889565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d1b9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611dda838383612687565b505050565b611de98282611265565b611e7857611e0e8173ffffffffffffffffffffffffffffffffffffffff16601461268c565b611e1c8360001c602061268c565b604051602001611e2d929190614955565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f919061343c565b60405180910390fd5b5050565b611e868282611265565b611f5857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611efd6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611f668282611265565b1561203957600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fde6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6120578282604051806020016040528060008152506128c8565b5050565b6000612066826110ce565b905061207481600084612616565b61207f6000836119e1565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120cf9190614889565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461217481600084612687565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121de906149db565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122d89190613388565b60405180910390a3505050565b6122f0848484611b78565b6122fc84848484612923565b61233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290614a6d565b60405180910390fd5b50505050565b6060600c805461235090613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461237c90613c0a565b80156123c95780601f1061239e576101008083540402835291602001916123c9565b820191906000526020600020905b8154815290600101906020018083116123ac57829003601f168201915b5050505050905090565b6060600082141561241b576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061252f565b600082905060005b6000821461244d57808061243690614134565b915050600a826124469190614abc565b9150612423565b60008167ffffffffffffffff811115612469576124686137ea565b5b6040519080825280601f01601f19166020018201604052801561249b5781602001600182028036833780820191505090505b5090505b60008514612528576001826124b49190614889565b9150600a856124c39190614aed565b60306124cf9190614043565b60f81b8183815181106124e5576124e4614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856125219190614abc565b945061249f565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806125ff57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061260f575061260e82612aab565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff1615612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266e90614b6a565b60405180910390fd5b612682838383612b25565b505050565b505050565b60606000600283600261269f9190614b8a565b6126a99190614043565b67ffffffffffffffff8111156126c2576126c16137ea565b5b6040519080825280601f01601f1916602001820160405280156126f45781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061272c5761272b614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127905761278f614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127d09190614b8a565b6127da9190614043565b90505b600181111561287a577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061281c5761281b614105565b5b1a60f81b82828151811061283357612832614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061287390614be4565b90506127dd565b50600084146128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590614c5a565b60405180910390fd5b8091505092915050565b6128d28383612c39565b6128df6000848484612923565b61291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614a6d565b60405180910390fd5b505050565b60006129448473ffffffffffffffffffffffffffffffffffffffff16612e13565b15612a9e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261296d6119d9565b8786866040518563ffffffff1660e01b815260040161298f9493929190614ccf565b6020604051808303816000875af19250505080156129cb57506040513d601f19601f820116820180604052508101906129c89190614d30565b60015b612a4e573d80600081146129fb576040519150601f19603f3d011682016040523d82523d6000602084013e612a00565b606091505b50600081511415612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a6d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612aa3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b1e5750612b1d82612e36565b5b9050919050565b612b30838383612ea0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b7357612b6e81612ea5565b612bb2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bb157612bb08382612eee565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf557612bf08161305b565b612c34565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612c3357612c32828261312c565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca090614da9565b60405180910390fd5b612cb28161196d565b15612cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce990614e15565b60405180910390fd5b612cfe60008383612616565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d4e9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612e0f60008383612687565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612efb84611180565b612f059190614889565b9050600060086000848152602001908152602001600020549050818114612fea576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905061306f9190614889565b90506000600a600084815260200190815260200160002054905060006009838154811061309f5761309e614105565b5b9060005260206000200154905080600983815481106130c1576130c0614105565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806131105761310f614e35565b5b6001900381819060005260206000200160009055905550505050565b600061313783611180565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546131b790613c0a565b90600052602060002090601f0160209004810192826131d95760008555613220565b82601f106131f257805160ff1916838001178555613220565b82800160010185558215613220579182015b8281111561321f578251825591602001919060010190613204565b5b50905061322d91906132b7565b5090565b82805461323d90613c0a565b90600052602060002090601f01602090048101928261325f57600085556132a6565b82601f1061327857803560ff19168380011785556132a6565b828001600101855582156132a6579182015b828111156132a557823582559160200191906001019061328a565b5b5090506132b391906132b7565b5090565b5b808211156132d05760008160009055506001016132b8565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61331d816132e8565b811461332857600080fd5b50565b60008135905061333a81613314565b92915050565b600060208284031215613356576133556132de565b5b60006133648482850161332b565b91505092915050565b60008115159050919050565b6133828161336d565b82525050565b600060208201905061339d6000830184613379565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133dd5780820151818401526020810190506133c2565b838111156133ec576000848401525b50505050565b6000601f19601f8301169050919050565b600061340e826133a3565b61341881856133ae565b93506134288185602086016133bf565b613431816133f2565b840191505092915050565b600060208201905081810360008301526134568184613403565b905092915050565b6000819050919050565b6134718161345e565b811461347c57600080fd5b50565b60008135905061348e81613468565b92915050565b6000602082840312156134aa576134a96132de565b5b60006134b88482850161347f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ec826134c1565b9050919050565b6134fc816134e1565b82525050565b600060208201905061351760008301846134f3565b92915050565b613526816134e1565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b600080604083850312156135605761355f6132de565b5b600061356e85828601613534565b925050602061357f8582860161347f565b9150509250929050565b6135928161345e565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6000602082840312156135c9576135c86132de565b5b60006135d784828501613534565b91505092915050565b6000806000606084860312156135f9576135f86132de565b5b600061360786828701613534565b935050602061361886828701613534565b92505060406136298682870161347f565b9150509250925092565b6000819050919050565b61364681613633565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b60006020828403121561367f5761367e6132de565b5b600061368d84828501613654565b91505092915050565b61369f81613633565b82525050565b60006020820190506136ba6000830184613696565b92915050565b600080604083850312156136d7576136d66132de565b5b60006136e585828601613654565b92505060206136f685828601613534565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137358161345e565b82525050565b6000613747838361372c565b60208301905092915050565b6000602082019050919050565b600061376b82613700565b613775818561370b565b93506137808361371c565b8060005b838110156137b1578151613798888261373b565b97506137a383613753565b925050600181019050613784565b5085935050505092915050565b600060208201905081810360008301526137d88184613760565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613822826133f2565b810181811067ffffffffffffffff82111715613841576138406137ea565b5b80604052505050565b60006138546132d4565b90506138608282613819565b919050565b600067ffffffffffffffff8211156138805761387f6137ea565b5b613889826133f2565b9050602081019050919050565b82818337600083830152505050565b60006138b86138b384613865565b61384a565b9050828152602081018484840111156138d4576138d36137e5565b5b6138df848285613896565b509392505050565b600082601f8301126138fc576138fb6137e0565b5b813561390c8482602086016138a5565b91505092915050565b60006020828403121561392b5761392a6132de565b5b600082013567ffffffffffffffff811115613949576139486132e3565b5b613955848285016138e7565b91505092915050565b600080fd5b600080fd5b60008083601f84011261397e5761397d6137e0565b5b8235905067ffffffffffffffff81111561399b5761399a61395e565b5b6020830191508360018202830111156139b7576139b6613963565b5b9250929050565b600080602083850312156139d5576139d46132de565b5b600083013567ffffffffffffffff8111156139f3576139f26132e3565b5b6139ff85828601613968565b92509250509250929050565b613a148161336d565b8114613a1f57600080fd5b50565b600081359050613a3181613a0b565b92915050565b60008060408385031215613a4e57613a4d6132de565b5b6000613a5c85828601613534565b9250506020613a6d85828601613a22565b9150509250929050565b600067ffffffffffffffff821115613a9257613a916137ea565b5b613a9b826133f2565b9050602081019050919050565b6000613abb613ab684613a77565b61384a565b905082815260208101848484011115613ad757613ad66137e5565b5b613ae2848285613896565b509392505050565b600082601f830112613aff57613afe6137e0565b5b8135613b0f848260208601613aa8565b91505092915050565b60008060008060808587031215613b3257613b316132de565b5b6000613b4087828801613534565b9450506020613b5187828801613534565b9350506040613b628782880161347f565b925050606085013567ffffffffffffffff811115613b8357613b826132e3565b5b613b8f87828801613aea565b91505092959194509250565b60008060408385031215613bb257613bb16132de565b5b6000613bc085828601613534565b9250506020613bd185828601613534565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c2257607f821691505b60208210811415613c3657613c35613bdb565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613c98602c836133ae565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d2a6021836133ae565b9150613d3582613cce565b604082019050919050565b60006020820190508181036000830152613d5981613d1d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613dbc6038836133ae565b9150613dc782613d60565b604082019050919050565b60006020820190508181036000830152613deb81613daf565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613e4e6031836133ae565b9150613e5982613df2565b604082019050919050565b60006020820190508181036000830152613e7d81613e41565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613ee0602b836133ae565b9150613eeb82613e84565b604082019050919050565b60006020820190508181036000830152613f0f81613ed3565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613f72602f836133ae565b9150613f7d82613f16565b604082019050919050565b60006020820190508181036000830152613fa181613f65565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613fde6011836133ae565b9150613fe982613fa8565b602082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061404e8261345e565b91506140598361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561408e5761408d614014565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b60006140cf6017836133ae565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061413f8261345e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561417257614171614014565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006141d9602c836133ae565b91506141e48261417d565b604082019050919050565b60006020820190508181036000830152614208816141cc565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006142456015836133ae565b91506142508261420f565b602082019050919050565b6000602082019050818103600083015261427481614238565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b60006142b1601a836133ae565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006143436029836133ae565b915061434e826142e7565b604082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006143d5602a836133ae565b91506143e082614379565b604082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006144416012836133ae565b915061444c8261440b565b602082019050919050565b6000602082019050818103600083015261447081614434565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006144ad6019836133ae565b91506144b882614477565b602082019050919050565b600060208201905081810360008301526144dc816144a0565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b600061453f602d836133ae565b915061454a826144e3565b604082019050919050565b6000602082019050818103600083015261456e81614532565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006145d1602f836133ae565b91506145dc82614575565b604082019050919050565b60006020820190508181036000830152614600816145c4565b9050919050565b600081905092915050565b600061461d826133a3565b6146278185614607565b93506146378185602086016133bf565b80840191505092915050565b600061464f8285614612565b915061465b8284614612565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061469d6018836133ae565b91506146a882614667565b602082019050919050565b600060208201905081810360008301526146cc81614690565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061472f602c836133ae565b915061473a826146d3565b604082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006147c16025836133ae565b91506147cc82614765565b604082019050919050565b600060208201905081810360008301526147f0816147b4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148536024836133ae565b915061485e826147f7565b604082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b60006148948261345e565b915061489f8361345e565b9250828210156148b2576148b1614014565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006148f3601783614607565b91506148fe826148bd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061493f601183614607565b915061494a82614909565b601182019050919050565b6000614960826148e6565b915061496c8285614612565b915061497782614932565b91506149838284614612565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006149c56019836133ae565b91506149d08261498f565b602082019050919050565b600060208201905081810360008301526149f4816149b8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614a576032836133ae565b9150614a62826149fb565b604082019050919050565b60006020820190508181036000830152614a8681614a4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ac78261345e565b9150614ad28361345e565b925082614ae257614ae1614a8d565b5b828204905092915050565b6000614af88261345e565b9150614b038361345e565b925082614b1357614b12614a8d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614b54601d836133ae565b9150614b5f82614b1e565b602082019050919050565b60006020820190508181036000830152614b8381614b47565b9050919050565b6000614b958261345e565b9150614ba08361345e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614bd957614bd8614014565b5b828202905092915050565b6000614bef8261345e565b91506000821415614c0357614c02614014565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614c446020836133ae565b9150614c4f82614c0e565b602082019050919050565b60006020820190508181036000830152614c7381614c37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614ca182614c7a565b614cab8185614c85565b9350614cbb8185602086016133bf565b614cc4816133f2565b840191505092915050565b6000608082019050614ce460008301876134f3565b614cf160208301866134f3565b614cfe6040830185613589565b8181036060830152614d108184614c96565b905095945050505050565b600081519050614d2a81613314565b92915050565b600060208284031215614d4657614d456132de565b5b6000614d5484828501614d1b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d936020836133ae565b9150614d9e82614d5d565b602082019050919050565b60006020820190508181036000830152614dc281614d86565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614dff601c836133ae565b9150614e0a82614dc9565b602082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204319ecee8eadad108a04d28eaf6b1bc7052f2e8b2881e594569f774972a6206964736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106f9578063dcec329414610715578063dd46706414610745578063e985e9c514610761578063f6aacfb11461079157610248565b8063ace9e2e214610655578063b88d4fde14610671578063b930908f1461068d578063c87b56dd146106ab578063d5391393146106db57610248565b806395d89b41116100ff57806395d89b41146105c5578063965f4c60146105e35780639dc29fac146105ff578063a217fddf1461061b578063a22cb4651461063957610248565b80636352211e146104fd57806370a082311461052d57806379deb6e71461055d57806391d1485414610579578063931688cb146105a957610248565b80632f2ff15d116101c957806343508b051161018d57806343508b05146104495780634f6ccce714610479578063530dd079146104a957806355f804b3146104c55780636198e339146104e157610248565b80632f2ff15d146103a95780632f745c59146103c5578063327ba615146103f557806336568abe1461041157806342842e0e1461042d57610248565b806319d1997a1161021057806319d1997a146103055780631cf4e3ee1461032357806323b872dd1461033f578063248a9ca31461035b5780632f286b1b1461038b57610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b578063095ea7b3146102cb57806318160ddd146102e7575b600080fd5b61026760048036038101906102629190613340565b6107c1565b6040516102749190613388565b60405180910390f35b6102856107d3565b604051610292919061343c565b60405180910390f35b6102b560048036038101906102b09190613494565b610865565b6040516102c29190613502565b60405180910390f35b6102e560048036038101906102e09190613549565b6108ea565b005b6102ef610a02565b6040516102fc9190613598565b60405180910390f35b61030d610a0f565b60405161031a9190613598565b60405180910390f35b61033d600480360381019061033891906135b3565b610a33565b005b610359600480360381019061035491906135e0565b610a60565b005b61037560048036038101906103709190613669565b610ac0565b60405161038291906136a5565b60405180910390f35b610393610adf565b6040516103a091906136a5565b60405180910390f35b6103c360048036038101906103be91906136c0565b610b03565b005b6103df60048036038101906103da9190613549565b610b2c565b6040516103ec9190613598565b60405180910390f35b61040f600480360381019061040a91906135b3565b610bd1565b005b61042b600480360381019061042691906136c0565b610bfe565b005b610447600480360381019061044291906135e0565b610c81565b005b610463600480360381019061045e9190613549565b610ca1565b60405161047091906137be565b60405180910390f35b610493600480360381019061048e9190613494565b610ec9565b6040516104a09190613598565b60405180910390f35b6104c360048036038101906104be91906135b3565b610f3a565b005b6104df60048036038101906104da9190613915565b610f67565b005b6104fb60048036038101906104f69190613494565b610f97565b005b61051760048036038101906105129190613494565b6110ce565b6040516105249190613502565b60405180910390f35b610547600480360381019061054291906135b3565b611180565b6040516105549190613598565b60405180910390f35b610577600480360381019061057291906135b3565b611238565b005b610593600480360381019061058e91906136c0565b611265565b6040516105a09190613388565b60405180910390f35b6105c360048036038101906105be91906139be565b6112cf565b005b6105cd6112fb565b6040516105da919061343c565b60405180910390f35b6105fd60048036038101906105f891906135b3565b61138d565b005b61061960048036038101906106149190613549565b6113ba565b005b610623611519565b60405161063091906136a5565b60405180910390f35b610653600480360381019061064e9190613a37565b611520565b005b61066f600480360381019061066a91906135b3565b611536565b005b61068b60048036038101906106869190613b18565b611563565b005b6106956115c5565b6040516106a291906136a5565b60405180910390f35b6106c560048036038101906106c09190613494565b6115e9565b6040516106d2919061343c565b60405180910390f35b6106e3611690565b6040516106f091906136a5565b60405180910390f35b610713600480360381019061070e91906136c0565b6116b4565b005b61072f600480360381019061072a9190613494565b6116dd565b60405161073c9190613388565b60405180910390f35b61075f600480360381019061075a9190613494565b6116fd565b005b61077b60048036038101906107769190613b9b565b611835565b6040516107889190613388565b60405180910390f35b6107ab60048036038101906107a69190613494565b6118c9565b6040516107b89190613388565b60405180910390f35b60006107cc826118f3565b9050919050565b6060600180546107e290613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90613c0a565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b60006108708261196d565b6108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690613cae565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108f5826110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613d40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109856119d9565b73ffffffffffffffffffffffffffffffffffffffff1614806109b457506109b3816109ae6119d9565b611835565b5b6109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea90613dd2565b60405180910390fd5b6109fd83836119e1565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a5d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b4565b50565b610a71610a6b6119d9565b82611a9a565b610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613e64565b60405180910390fd5b610abb838383611b78565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b0c82610ac0565b610b1d81610b186119d9565b611ddf565b610b278383611e7c565b505050565b6000610b3783611180565b8210610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90613ef6565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bfb7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b03565b50565b610c066119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90613f88565b60405180910390fd5b610c7d8282611f5c565b5050565b610c9c83838360405180602001604052806000815250611563565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd581610cd06119d9565b611ddf565b6064831115610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090613ff4565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610db8577f000000000000000000000000000000000000000000000000000000000000000083610d6c610a02565b610d769190614043565b1115610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae906140e5565b60405180910390fd5b5b60008367ffffffffffffffff811115610dd457610dd36137ea565b5b604051908082528060200260200182016040528015610e025781602001602082028036833780820191505090505b50905060005b84811015610e6f576001600d6000828254610e239190614043565b925050819055506000600d549050610e3b878261203d565b80838381518110610e4f57610e4e614105565b5b602002602001018181525050508080610e6790614134565b915050610e08565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610eb691906137be565b60405180910390a2809250505092915050565b6000610ed3610a02565b8210610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b906141ef565b60405180910390fd5b60098281548110610f2857610f27614105565b5b90600052602060002001549050919050565b610f647f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b03565b50565b6000801b610f7c81610f776119d9565b611ddf565b81600c9080519060200190610f929291906131ab565b505050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610fc981610fc46119d9565b611ddf565b610fd28261196d565b611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16611071576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611068906142c7565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90614359565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e8906143eb565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112627fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b4565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e4816112df6119d9565b611ddf565b8282600c91906112f5929190613231565b50505050565b60606002805461130a90613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461133690613c0a565b80156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b5050505050905090565b6113b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b4565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226113ec816113e76119d9565b611ddf565b6113f58261196d565b611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90614457565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c906144c3565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114b5836110ce565b73ffffffffffffffffffffffffffffffffffffffff161461150b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150290614555565b60405180910390fd5b6115148261205b565b505050565b6000801b81565b61153261152b6119d9565b8383612178565b5050565b6115607fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b03565b50565b61157461156e6119d9565b83611a9a565b6115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90613e64565b60405180910390fd5b6115bf848484846122e5565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115f48261196d565b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906145e7565b60405180910390fd5b600061163d612341565b9050600081511161165d5760405180602001604052806000815250611688565b80611667846123d3565b604051602001611678929190614643565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bd82610ac0565b6116ce816116c96119d9565b611ddf565b6116d88383611f5c565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161172f8161172a6119d9565b611ddf565b6117388261196d565b611777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176e9061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf906146b3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611966575061196582612534565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a54836110ce565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611aa58261196d565b611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90614745565b60405180910390fd5b6000611aef836110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b5e57508373ffffffffffffffffffffffffffffffffffffffff16611b4684610865565b73ffffffffffffffffffffffffffffffffffffffff16145b80611b6f5750611b6e8185611835565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b98826110ce565b73ffffffffffffffffffffffffffffffffffffffff1614611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be5906147d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590614869565b60405180910390fd5b611c69838383612616565b611c746000826119e1565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cc49190614889565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d1b9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611dda838383612687565b505050565b611de98282611265565b611e7857611e0e8173ffffffffffffffffffffffffffffffffffffffff16601461268c565b611e1c8360001c602061268c565b604051602001611e2d929190614955565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f919061343c565b60405180910390fd5b5050565b611e868282611265565b611f5857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611efd6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611f668282611265565b1561203957600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fde6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6120578282604051806020016040528060008152506128c8565b5050565b6000612066826110ce565b905061207481600084612616565b61207f6000836119e1565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120cf9190614889565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461217481600084612687565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121de906149db565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122d89190613388565b60405180910390a3505050565b6122f0848484611b78565b6122fc84848484612923565b61233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290614a6d565b60405180910390fd5b50505050565b6060600c805461235090613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461237c90613c0a565b80156123c95780601f1061239e576101008083540402835291602001916123c9565b820191906000526020600020905b8154815290600101906020018083116123ac57829003601f168201915b5050505050905090565b6060600082141561241b576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061252f565b600082905060005b6000821461244d57808061243690614134565b915050600a826124469190614abc565b9150612423565b60008167ffffffffffffffff811115612469576124686137ea565b5b6040519080825280601f01601f19166020018201604052801561249b5781602001600182028036833780820191505090505b5090505b60008514612528576001826124b49190614889565b9150600a856124c39190614aed565b60306124cf9190614043565b60f81b8183815181106124e5576124e4614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856125219190614abc565b945061249f565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806125ff57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061260f575061260e82612aab565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff1615612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266e90614b6a565b60405180910390fd5b612682838383612b25565b505050565b505050565b60606000600283600261269f9190614b8a565b6126a99190614043565b67ffffffffffffffff8111156126c2576126c16137ea565b5b6040519080825280601f01601f1916602001820160405280156126f45781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061272c5761272b614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127905761278f614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127d09190614b8a565b6127da9190614043565b90505b600181111561287a577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061281c5761281b614105565b5b1a60f81b82828151811061283357612832614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061287390614be4565b90506127dd565b50600084146128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590614c5a565b60405180910390fd5b8091505092915050565b6128d28383612c39565b6128df6000848484612923565b61291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614a6d565b60405180910390fd5b505050565b60006129448473ffffffffffffffffffffffffffffffffffffffff16612e13565b15612a9e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261296d6119d9565b8786866040518563ffffffff1660e01b815260040161298f9493929190614ccf565b6020604051808303816000875af19250505080156129cb57506040513d601f19601f820116820180604052508101906129c89190614d30565b60015b612a4e573d80600081146129fb576040519150601f19603f3d011682016040523d82523d6000602084013e612a00565b606091505b50600081511415612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a6d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612aa3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b1e5750612b1d82612e36565b5b9050919050565b612b30838383612ea0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b7357612b6e81612ea5565b612bb2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bb157612bb08382612eee565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf557612bf08161305b565b612c34565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612c3357612c32828261312c565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca090614da9565b60405180910390fd5b612cb28161196d565b15612cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce990614e15565b60405180910390fd5b612cfe60008383612616565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d4e9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612e0f60008383612687565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612efb84611180565b612f059190614889565b9050600060086000848152602001908152602001600020549050818114612fea576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905061306f9190614889565b90506000600a600084815260200190815260200160002054905060006009838154811061309f5761309e614105565b5b9060005260206000200154905080600983815481106130c1576130c0614105565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806131105761310f614e35565b5b6001900381819060005260206000200160009055905550505050565b600061313783611180565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546131b790613c0a565b90600052602060002090601f0160209004810192826131d95760008555613220565b82601f106131f257805160ff1916838001178555613220565b82800160010185558215613220579182015b8281111561321f578251825591602001919060010190613204565b5b50905061322d91906132b7565b5090565b82805461323d90613c0a565b90600052602060002090601f01602090048101928261325f57600085556132a6565b82601f1061327857803560ff19168380011785556132a6565b828001600101855582156132a6579182015b828111156132a557823582559160200191906001019061328a565b5b5090506132b391906132b7565b5090565b5b808211156132d05760008160009055506001016132b8565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61331d816132e8565b811461332857600080fd5b50565b60008135905061333a81613314565b92915050565b600060208284031215613356576133556132de565b5b60006133648482850161332b565b91505092915050565b60008115159050919050565b6133828161336d565b82525050565b600060208201905061339d6000830184613379565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133dd5780820151818401526020810190506133c2565b838111156133ec576000848401525b50505050565b6000601f19601f8301169050919050565b600061340e826133a3565b61341881856133ae565b93506134288185602086016133bf565b613431816133f2565b840191505092915050565b600060208201905081810360008301526134568184613403565b905092915050565b6000819050919050565b6134718161345e565b811461347c57600080fd5b50565b60008135905061348e81613468565b92915050565b6000602082840312156134aa576134a96132de565b5b60006134b88482850161347f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ec826134c1565b9050919050565b6134fc816134e1565b82525050565b600060208201905061351760008301846134f3565b92915050565b613526816134e1565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b600080604083850312156135605761355f6132de565b5b600061356e85828601613534565b925050602061357f8582860161347f565b9150509250929050565b6135928161345e565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6000602082840312156135c9576135c86132de565b5b60006135d784828501613534565b91505092915050565b6000806000606084860312156135f9576135f86132de565b5b600061360786828701613534565b935050602061361886828701613534565b92505060406136298682870161347f565b9150509250925092565b6000819050919050565b61364681613633565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b60006020828403121561367f5761367e6132de565b5b600061368d84828501613654565b91505092915050565b61369f81613633565b82525050565b60006020820190506136ba6000830184613696565b92915050565b600080604083850312156136d7576136d66132de565b5b60006136e585828601613654565b92505060206136f685828601613534565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137358161345e565b82525050565b6000613747838361372c565b60208301905092915050565b6000602082019050919050565b600061376b82613700565b613775818561370b565b93506137808361371c565b8060005b838110156137b1578151613798888261373b565b97506137a383613753565b925050600181019050613784565b5085935050505092915050565b600060208201905081810360008301526137d88184613760565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613822826133f2565b810181811067ffffffffffffffff82111715613841576138406137ea565b5b80604052505050565b60006138546132d4565b90506138608282613819565b919050565b600067ffffffffffffffff8211156138805761387f6137ea565b5b613889826133f2565b9050602081019050919050565b82818337600083830152505050565b60006138b86138b384613865565b61384a565b9050828152602081018484840111156138d4576138d36137e5565b5b6138df848285613896565b509392505050565b600082601f8301126138fc576138fb6137e0565b5b813561390c8482602086016138a5565b91505092915050565b60006020828403121561392b5761392a6132de565b5b600082013567ffffffffffffffff811115613949576139486132e3565b5b613955848285016138e7565b91505092915050565b600080fd5b600080fd5b60008083601f84011261397e5761397d6137e0565b5b8235905067ffffffffffffffff81111561399b5761399a61395e565b5b6020830191508360018202830111156139b7576139b6613963565b5b9250929050565b600080602083850312156139d5576139d46132de565b5b600083013567ffffffffffffffff8111156139f3576139f26132e3565b5b6139ff85828601613968565b92509250509250929050565b613a148161336d565b8114613a1f57600080fd5b50565b600081359050613a3181613a0b565b92915050565b60008060408385031215613a4e57613a4d6132de565b5b6000613a5c85828601613534565b9250506020613a6d85828601613a22565b9150509250929050565b600067ffffffffffffffff821115613a9257613a916137ea565b5b613a9b826133f2565b9050602081019050919050565b6000613abb613ab684613a77565b61384a565b905082815260208101848484011115613ad757613ad66137e5565b5b613ae2848285613896565b509392505050565b600082601f830112613aff57613afe6137e0565b5b8135613b0f848260208601613aa8565b91505092915050565b60008060008060808587031215613b3257613b316132de565b5b6000613b4087828801613534565b9450506020613b5187828801613534565b9350506040613b628782880161347f565b925050606085013567ffffffffffffffff811115613b8357613b826132e3565b5b613b8f87828801613aea565b91505092959194509250565b60008060408385031215613bb257613bb16132de565b5b6000613bc085828601613534565b9250506020613bd185828601613534565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c2257607f821691505b60208210811415613c3657613c35613bdb565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613c98602c836133ae565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d2a6021836133ae565b9150613d3582613cce565b604082019050919050565b60006020820190508181036000830152613d5981613d1d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613dbc6038836133ae565b9150613dc782613d60565b604082019050919050565b60006020820190508181036000830152613deb81613daf565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613e4e6031836133ae565b9150613e5982613df2565b604082019050919050565b60006020820190508181036000830152613e7d81613e41565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613ee0602b836133ae565b9150613eeb82613e84565b604082019050919050565b60006020820190508181036000830152613f0f81613ed3565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613f72602f836133ae565b9150613f7d82613f16565b604082019050919050565b60006020820190508181036000830152613fa181613f65565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613fde6011836133ae565b9150613fe982613fa8565b602082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061404e8261345e565b91506140598361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561408e5761408d614014565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b60006140cf6017836133ae565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061413f8261345e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561417257614171614014565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006141d9602c836133ae565b91506141e48261417d565b604082019050919050565b60006020820190508181036000830152614208816141cc565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006142456015836133ae565b91506142508261420f565b602082019050919050565b6000602082019050818103600083015261427481614238565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b60006142b1601a836133ae565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006143436029836133ae565b915061434e826142e7565b604082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006143d5602a836133ae565b91506143e082614379565b604082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006144416012836133ae565b915061444c8261440b565b602082019050919050565b6000602082019050818103600083015261447081614434565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006144ad6019836133ae565b91506144b882614477565b602082019050919050565b600060208201905081810360008301526144dc816144a0565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b600061453f602d836133ae565b915061454a826144e3565b604082019050919050565b6000602082019050818103600083015261456e81614532565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006145d1602f836133ae565b91506145dc82614575565b604082019050919050565b60006020820190508181036000830152614600816145c4565b9050919050565b600081905092915050565b600061461d826133a3565b6146278185614607565b93506146378185602086016133bf565b80840191505092915050565b600061464f8285614612565b915061465b8284614612565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061469d6018836133ae565b91506146a882614667565b602082019050919050565b600060208201905081810360008301526146cc81614690565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061472f602c836133ae565b915061473a826146d3565b604082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006147c16025836133ae565b91506147cc82614765565b604082019050919050565b600060208201905081810360008301526147f0816147b4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148536024836133ae565b915061485e826147f7565b604082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b60006148948261345e565b915061489f8361345e565b9250828210156148b2576148b1614014565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006148f3601783614607565b91506148fe826148bd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061493f601183614607565b915061494a82614909565b601182019050919050565b6000614960826148e6565b915061496c8285614612565b915061497782614932565b91506149838284614612565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006149c56019836133ae565b91506149d08261498f565b602082019050919050565b600060208201905081810360008301526149f4816149b8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614a576032836133ae565b9150614a62826149fb565b604082019050919050565b60006020820190508181036000830152614a8681614a4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ac78261345e565b9150614ad28361345e565b925082614ae257614ae1614a8d565b5b828204905092915050565b6000614af88261345e565b9150614b038361345e565b925082614b1357614b12614a8d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614b54601d836133ae565b9150614b5f82614b1e565b602082019050919050565b60006020820190508181036000830152614b8381614b47565b9050919050565b6000614b958261345e565b9150614ba08361345e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614bd957614bd8614014565b5b828202905092915050565b6000614bef8261345e565b91506000821415614c0357614c02614014565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614c446020836133ae565b9150614c4f82614c0e565b602082019050919050565b60006020820190508181036000830152614c7381614c37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614ca182614c7a565b614cab8185614c85565b9350614cbb8185602086016133bf565b614cc4816133f2565b840191505092915050565b6000608082019050614ce460008301876134f3565b614cf160208301866134f3565b614cfe6040830185613589565b8181036060830152614d108184614c96565b905095945050505050565b600081519050614d2a81613314565b92915050565b600060208284031215614d4657614d456132de565b5b6000614d5484828501614d1b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d936020836133ae565b9150614d9e82614d5d565b602082019050919050565b60006020820190508181036000830152614dc281614d86565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614dff601c836133ae565b9150614e0a82614dc9565b602082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204319ecee8eadad108a04d28eaf6b1bc7052f2e8b2881e594569f774972a6206964736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"grantLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxBatchSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"valNew\",\"type\":\"uint256\"}],\"name\":\"updateBatchLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"metaAddress\",\"type\":\"address\"}],\"name\":\"updateMetaAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchMint(address,uint256)\":{\"details\":\"Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100.\"},\"burn(address,uint256)\":{\"details\":\"Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantLockRole(address)\":{\"details\":\"Add address for lock item\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setBurnRole(address)\":{\"details\":\"grant burn role to address\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"one type badge has same tokenURI\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateMetaAddress(address)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/BEBadge.sol\":\"BEBadge\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/interfaces/IMetaData.sol\":{\"keccak256\":\"0x60a2ea09cbe9ba341f76bd69f5bfeae55efb109ffb2d805167c8d714991a9c08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a49c5c6d6f0547cccffe626530771cf5693c3300d082a8c8eb550c683d92e6c\",\"dweb:/ipfs/QmUJfLR4KYiphgXFhLecgNfKhRJYfpar4cF1D68vZs4gVX\"]},\"project:/contracts/tokens/erc721/BEBadge.sol\":{\"keccak256\":\"0xac9e326d4a2c41c57a58bbb6c4dbacfba1677f562b9f3666b1fea0f83c459e83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4b4e8173f40c8251597a36a82c8d59333fb918bfbc357da312f6c5828e864e8\",\"dweb:/ipfs/QmTyoWjqh3mtKWefFiXZmAwskTnyGBhAwyfn3RR2gSeaTx\"]}},\"version\":1}", + "bytecode": "0x60a06040526101f4600e553480156200001757600080fd5b50604051620052453803806200524583398181016040528101906200003d919062000651565b8282816001908051906020019062000057929190620003c9565b50806002908051906020019062000070929190620003c9565b505050620000a87f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b620001ce60201b60201c565b620000dd7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b620001ce60201b60201c565b620001127fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b620001ce60201b60201c565b620001276000801b336200023160201b60201c565b620001597f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200023160201b60201c565b6200018b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22336200023160201b60201c565b620001bd7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751336200023160201b60201c565b806080818152505050505062000750565b6000620001e1836200024760201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200024382826200026660201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200027882826200035760201b60201c565b6200035357600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002f8620003c160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620003d7906200071a565b90600052602060002090601f016020900481019282620003fb576000855562000447565b82601f106200041657805160ff191683800117855562000447565b8280016001018555821562000447579182015b828111156200044657825182559160200191906001019062000429565b5b5090506200045691906200045a565b5090565b5b80821115620004755760008160009055506001016200045b565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004e28262000497565b810181811067ffffffffffffffff82111715620005045762000503620004a8565b5b80604052505050565b60006200051962000479565b9050620005278282620004d7565b919050565b600067ffffffffffffffff8211156200054a5762000549620004a8565b5b620005558262000497565b9050602081019050919050565b60005b838110156200058257808201518184015260208101905062000565565b8381111562000592576000848401525b50505050565b6000620005af620005a9846200052c565b6200050d565b905082815260208101848484011115620005ce57620005cd62000492565b5b620005db84828562000562565b509392505050565b600082601f830112620005fb57620005fa6200048d565b5b81516200060d84826020860162000598565b91505092915050565b6000819050919050565b6200062b8162000616565b81146200063757600080fd5b50565b6000815190506200064b8162000620565b92915050565b6000806000606084860312156200066d576200066c62000483565b5b600084015167ffffffffffffffff8111156200068e576200068d62000488565b5b6200069c86828701620005e3565b935050602084015167ffffffffffffffff811115620006c057620006bf62000488565b5b620006ce86828701620005e3565b9250506040620006e1868287016200063a565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200073357607f821691505b602082108114156200074a5762000749620006eb565b5b50919050565b608051614acb6200077a60003960008181610a1b01528181610d610152610d880152614acb6000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80636198e3391161013b578063ace9e2e2116100b8578063d53913931161007c578063d5391393146106f9578063d547741f14610717578063dcec329414610733578063dd46706414610763578063e985e9c51461077f57610248565b8063ace9e2e214610657578063b6a6a93d14610673578063b88d4fde1461068f578063b930908f146106ab578063c87b56dd146106c957610248565b806395d89b41116100ff57806395d89b41146105c7578063965f4c60146105e55780639dc29fac14610601578063a217fddf1461061d578063a22cb4651461063b57610248565b80636198e339146104ff5780636352211e1461051b57806370a082311461054b57806379deb6e71461057b57806391d148541461059757610248565b80632913daa0116101c957806336568abe1161018d57806336568abe1461044b57806342842e0e1461046757806343508b05146104835780634f6ccce7146104b3578063530dd079146104e357610248565b80632913daa0146103a75780632f286b1b146103c55780632f2ff15d146103e35780632f745c59146103ff578063327ba6151461042f57610248565b806318160ddd1161021057806318160ddd1461030357806319d1997a146103215780631cf4e3ee1461033f57806323b872dd1461035b578063248a9ca31461037757610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b57806308f16086146102cb578063095ea7b3146102e7575b600080fd5b6102676004803603810190610262919061311c565b6107af565b6040516102749190613164565b60405180910390f35b6102856107c1565b6040516102929190613218565b60405180910390f35b6102b560048036038101906102b09190613270565b610853565b6040516102c291906132de565b60405180910390f35b6102e560048036038101906102e09190613270565b610899565b005b61030160048036038101906102fc9190613325565b6108f4565b005b61030b610a0c565b6040516103189190613374565b60405180910390f35b610329610a19565b6040516103369190613374565b60405180910390f35b6103596004803603810190610354919061338f565b610a3d565b005b610375600480360381019061037091906133bc565b610a6a565b005b610391600480360381019061038c9190613445565b610aca565b60405161039e9190613481565b60405180910390f35b6103af610ae9565b6040516103bc9190613374565b60405180910390f35b6103cd610aef565b6040516103da9190613481565b60405180910390f35b6103fd60048036038101906103f8919061349c565b610b13565b005b61041960048036038101906104149190613325565b610b34565b6040516104269190613374565b60405180910390f35b6104496004803603810190610444919061338f565b610bd9565b005b6104656004803603810190610460919061349c565b610c06565b005b610481600480360381019061047c91906133bc565b610c89565b005b61049d60048036038101906104989190613325565b610ca9565b6040516104aa919061359a565b60405180910390f35b6104cd60048036038101906104c89190613270565b610ebf565b6040516104da9190613374565b60405180910390f35b6104fd60048036038101906104f8919061338f565b610f30565b005b61051960048036038101906105149190613270565b610f5d565b005b61053560048036038101906105309190613270565b61108c565b60405161054291906132de565b60405180910390f35b6105656004803603810190610560919061338f565b611113565b6040516105729190613374565b60405180910390f35b6105956004803603810190610590919061338f565b6111cb565b005b6105b160048036038101906105ac919061349c565b6111f8565b6040516105be9190613164565b60405180910390f35b6105cf611262565b6040516105dc9190613218565b60405180910390f35b6105ff60048036038101906105fa919061338f565b6112f4565b005b61061b60048036038101906106169190613325565b611321565b005b610625611478565b6040516106329190613481565b60405180910390f35b610655600480360381019061065091906135e8565b61147f565b005b610671600480360381019061066c919061338f565b611495565b005b61068d6004803603810190610688919061338f565b6114c2565b005b6106a960048036038101906106a4919061375d565b611514565b005b6106b3611576565b6040516106c09190613481565b60405180910390f35b6106e360048036038101906106de9190613270565b61159a565b6040516106f09190613218565b60405180910390f35b61070161168e565b60405161070e9190613481565b60405180910390f35b610731600480360381019061072c919061349c565b6116b2565b005b61074d60048036038101906107489190613270565b6116d3565b60405161075a9190613164565b60405180910390f35b61077d60048036038101906107789190613270565b6116f3565b005b610799600480360381019061079491906137e0565b611823565b6040516107a69190613164565b60405180910390f35b60006107ba826118b7565b9050919050565b6060600180546107d09061384f565b80601f01602080910402602001604051908101604052809291908181526020018280546107fc9061384f565b80156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b5050505050905090565b600061085e82611931565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000801b6108a68161197c565b600082116108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e0906138cd565b60405180910390fd5b81600e819055505050565b60006108ff8261108c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061395f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661098f611990565b73ffffffffffffffffffffffffffffffffffffffff1614806109be57506109bd816109b8611990565b611823565b5b6109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f4906139f1565b60405180910390fd5b610a078383611998565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a677f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b2565b50565b610a7b610a75611990565b82611a51565b610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190613a83565b60405180910390fd5b610ac5838383611ae6565b505050565b6000806000838152602001908152602001600020600101549050919050565b600e5481565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b1c82610aca565b610b258161197c565b610b2f8383611de0565b505050565b6000610b3f83611113565b8210610b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7790613b15565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610c037fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b13565b50565b610c0e611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7290613ba7565b60405180910390fd5b610c858282611ec0565b5050565b610ca483838360405180602001604052806000815250611514565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd58161197c565b60008311610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f90613c13565b60405180910390fd5b600e54831115610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5490613c7f565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610dfc577f000000000000000000000000000000000000000000000000000000000000000083610db0610a0c565b610dba9190613cce565b1115610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290613d70565b60405180910390fd5b5b60008367ffffffffffffffff811115610e1857610e17613632565b5b604051908082528060200260200182016040528015610e465781602001602082028036833780820191505090505b50905060005b84811015610eb3576001600d6000828254610e679190613cce565b925050819055506000600d549050610e7f8782611fa1565b80838381518110610e9357610e92613d90565b5b602002602001018181525050508080610eab90613dbf565b915050610e4c565b50809250505092915050565b6000610ec9610a0c565b8210610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0190613e7a565b60405180910390fd5b60098281548110610f1e57610f1d613d90565b5b90600052602060002001549050919050565b610f5a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b13565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f878161197c565b610f9082611fbf565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613ee6565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690613f52565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b60008061109883612000565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561110a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110190613fbe565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90614050565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111f57fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b2565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600280546112719061384f565b80601f016020809104026020016040519081016040528092919081815260200182805461129d9061384f565b80156112ea5780601f106112bf576101008083540402835291602001916112ea565b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b5050505050905090565b61131e7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b2565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2261134b8161197c565b61135482611fbf565b611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a906140bc565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156113f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113eb90614128565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114148361108c565b73ffffffffffffffffffffffffffffffffffffffff161461146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906141ba565b60405180910390fd5b6114738261203d565b505050565b6000801b81565b61149161148a611990565b838361218b565b5050565b6114bf7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b13565b50565b6000801b6114cf8161197c565b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61152561151f611990565b83611a51565b611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90613a83565b60405180910390fd5b611570848484846122f8565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115a582611fbf565b6115e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115db90614226565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b8152600401611641929190614246565b600060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906116879190614310565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bb82610aca565b6116c48161197c565b6116ce8383611ec0565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161171d8161197c565b61172682611fbf565b611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c90613ee6565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bd906143a5565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061192a575061192982612354565b5b9050919050565b61193a81611fbf565b611979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197090613fbe565b60405180910390fd5b50565b61198d81611988611990565b612436565b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a0b8361108c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a5d8361108c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a9f5750611a9e8185611823565b5b80611add57508373ffffffffffffffffffffffffffffffffffffffff16611ac584610853565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b068261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390614437565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc3906144c9565b60405180910390fd5b611bd983838360016124bb565b8273ffffffffffffffffffffffffffffffffffffffff16611bf98261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4690614437565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611ddb83838360016124cd565b505050565b611dea82826111f8565b611ebc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e61611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611eca82826111f8565b15611f9d57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f42611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611fbb8282604051806020016040528060008152506124d3565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fe183612000565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006120488261108c565b90506120588160008460016124bb565b6120618261108c565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121878160008460016124cd565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f190614535565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122eb9190613164565b60405180910390a3505050565b612303848484611ae6565b61230f8484848461252e565b61234e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612345906145c7565b60405180910390fd5b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061241f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061242f575061242e826126b6565b5b9050919050565b61244082826111f8565b6124b75761244d81612730565b61245b8360001c602061275d565b60405160200161246c9291906146bb565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ae9190613218565b60405180910390fd5b5050565b6124c784848484612999565b50505050565b50505050565b6124dd8383612af9565b6124ea600084848461252e565b612529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612520906145c7565b60405180910390fd5b505050565b600061254f8473ffffffffffffffffffffffffffffffffffffffff16612d17565b156126a9578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612578611990565b8786866040518563ffffffff1660e01b815260040161259a949392919061474a565b6020604051808303816000875af19250505080156125d657506040513d601f19601f820116820180604052508101906125d391906147ab565b60015b612659573d8060008114612606576040519150601f19603f3d011682016040523d82523d6000602084013e61260b565b606091505b50600081511415612651576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612648906145c7565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506126ae565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612729575061272882612d3a565b5b9050919050565b60606127568273ffffffffffffffffffffffffffffffffffffffff16601460ff1661275d565b9050919050565b60606000600283600261277091906147d8565b61277a9190613cce565b67ffffffffffffffff81111561279357612792613632565b5b6040519080825280601f01601f1916602001820160405280156127c55781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127fd576127fc613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061286157612860613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026128a191906147d8565b6128ab9190613cce565b90505b600181111561294b577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106128ed576128ec613d90565b5b1a60f81b82828151811061290457612903613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061294490614832565b90506128ae565b506000841461298f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612986906148a8565b60405180910390fd5b8091505092915050565b6129a584848484612da4565b60018111156129e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e09061493a565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612a3157612a2c81612daa565b612a70565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612a6f57612a6e8582612df3565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ab357612aae81612f60565b612af2565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612af157612af08482613031565b5b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b60906149a6565b60405180910390fd5b612b7281611fbf565b15612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba990614a12565b60405180910390fd5b612bc06000838360016124bb565b612bc981611fbf565b15612c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0090614a12565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612d136000838360016124cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612e0084611113565b612e0a9190614a32565b9050600060086000848152602001908152602001600020549050818114612eef576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612f749190614a32565b90506000600a6000848152602001908152602001600020549050600060098381548110612fa457612fa3613d90565b5b906000526020600020015490508060098381548110612fc657612fc5613d90565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a600085815260200190815260200160002060009055600980548061301557613014614a66565b5b6001900381819060005260206000200160009055905550505050565b600061303c83611113565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130f9816130c4565b811461310457600080fd5b50565b600081359050613116816130f0565b92915050565b600060208284031215613132576131316130ba565b5b600061314084828501613107565b91505092915050565b60008115159050919050565b61315e81613149565b82525050565b60006020820190506131796000830184613155565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b957808201518184015260208101905061319e565b838111156131c8576000848401525b50505050565b6000601f19601f8301169050919050565b60006131ea8261317f565b6131f4818561318a565b935061320481856020860161319b565b61320d816131ce565b840191505092915050565b6000602082019050818103600083015261323281846131df565b905092915050565b6000819050919050565b61324d8161323a565b811461325857600080fd5b50565b60008135905061326a81613244565b92915050565b600060208284031215613286576132856130ba565b5b60006132948482850161325b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c88261329d565b9050919050565b6132d8816132bd565b82525050565b60006020820190506132f360008301846132cf565b92915050565b613302816132bd565b811461330d57600080fd5b50565b60008135905061331f816132f9565b92915050565b6000806040838503121561333c5761333b6130ba565b5b600061334a85828601613310565b925050602061335b8582860161325b565b9150509250929050565b61336e8161323a565b82525050565b60006020820190506133896000830184613365565b92915050565b6000602082840312156133a5576133a46130ba565b5b60006133b384828501613310565b91505092915050565b6000806000606084860312156133d5576133d46130ba565b5b60006133e386828701613310565b93505060206133f486828701613310565b92505060406134058682870161325b565b9150509250925092565b6000819050919050565b6134228161340f565b811461342d57600080fd5b50565b60008135905061343f81613419565b92915050565b60006020828403121561345b5761345a6130ba565b5b600061346984828501613430565b91505092915050565b61347b8161340f565b82525050565b60006020820190506134966000830184613472565b92915050565b600080604083850312156134b3576134b26130ba565b5b60006134c185828601613430565b92505060206134d285828601613310565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135118161323a565b82525050565b60006135238383613508565b60208301905092915050565b6000602082019050919050565b6000613547826134dc565b61355181856134e7565b935061355c836134f8565b8060005b8381101561358d5781516135748882613517565b975061357f8361352f565b925050600181019050613560565b5085935050505092915050565b600060208201905081810360008301526135b4818461353c565b905092915050565b6135c581613149565b81146135d057600080fd5b50565b6000813590506135e2816135bc565b92915050565b600080604083850312156135ff576135fe6130ba565b5b600061360d85828601613310565b925050602061361e858286016135d3565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61366a826131ce565b810181811067ffffffffffffffff8211171561368957613688613632565b5b80604052505050565b600061369c6130b0565b90506136a88282613661565b919050565b600067ffffffffffffffff8211156136c8576136c7613632565b5b6136d1826131ce565b9050602081019050919050565b82818337600083830152505050565b60006137006136fb846136ad565b613692565b90508281526020810184848401111561371c5761371b61362d565b5b6137278482856136de565b509392505050565b600082601f83011261374457613743613628565b5b81356137548482602086016136ed565b91505092915050565b60008060008060808587031215613777576137766130ba565b5b600061378587828801613310565b945050602061379687828801613310565b93505060406137a78782880161325b565b925050606085013567ffffffffffffffff8111156137c8576137c76130bf565b5b6137d48782880161372f565b91505092959194509250565b600080604083850312156137f7576137f66130ba565b5b600061380585828601613310565b925050602061381685828601613310565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061386757607f821691505b6020821081141561387b5761387a613820565b5b50919050565b7f62617463682073697a6520746f6f2073686f7274000000000000000000000000600082015250565b60006138b760148361318a565b91506138c282613881565b602082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061394960218361318a565b9150613954826138ed565b604082019050919050565b600060208201905081810360008301526139788161393c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006139db603d8361318a565b91506139e68261397f565b604082019050919050565b60006020820190508181036000830152613a0a816139ce565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613a6d602d8361318a565b9150613a7882613a11565b604082019050919050565b60006020820190508181036000830152613a9c81613a60565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613aff602b8361318a565b9150613b0a82613aa3565b604082019050919050565b60006020820190508181036000830152613b2e81613af2565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613b91602f8361318a565b9150613b9c82613b35565b604082019050919050565b60006020820190508181036000830152613bc081613b84565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613bfd60128361318a565b9150613c0882613bc7565b602082019050919050565b60006020820190508181036000830152613c2c81613bf0565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c6960118361318a565b9150613c7482613c33565b602082019050919050565b60006020820190508181036000830152613c9881613c5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cd98261323a565b9150613ce48361323a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d1957613d18613c9f565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d5a60178361318a565b9150613d6582613d24565b602082019050919050565b60006020820190508181036000830152613d8981613d4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613dca8261323a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613dfd57613dfc613c9f565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613e64602c8361318a565b9150613e6f82613e08565b604082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613ed060158361318a565b9150613edb82613e9a565b602082019050919050565b60006020820190508181036000830152613eff81613ec3565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000613f3c601a8361318a565b9150613f4782613f06565b602082019050919050565b60006020820190508181036000830152613f6b81613f2f565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613fa860188361318a565b9150613fb382613f72565b602082019050919050565b60006020820190508181036000830152613fd781613f9b565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061403a60298361318a565b915061404582613fde565b604082019050919050565b600060208201905081810360008301526140698161402d565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006140a660128361318a565b91506140b182614070565b602082019050919050565b600060208201905081810360008301526140d581614099565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b600061411260198361318a565b915061411d826140dc565b602082019050919050565b6000602082019050818103600083015261414181614105565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b60006141a4602d8361318a565b91506141af82614148565b604082019050919050565b600060208201905081810360008301526141d381614197565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000614210601f8361318a565b915061421b826141da565b602082019050919050565b6000602082019050818103600083015261423f81614203565b9050919050565b600060408201905061425b60008301856132cf565b6142686020830184613365565b9392505050565b600067ffffffffffffffff82111561428a57614289613632565b5b614293826131ce565b9050602081019050919050565b60006142b36142ae8461426f565b613692565b9050828152602081018484840111156142cf576142ce61362d565b5b6142da84828561319b565b509392505050565b600082601f8301126142f7576142f6613628565b5b81516143078482602086016142a0565b91505092915050565b600060208284031215614326576143256130ba565b5b600082015167ffffffffffffffff811115614344576143436130bf565b5b614350848285016142e2565b91505092915050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061438f60188361318a565b915061439a82614359565b602082019050919050565b600060208201905081810360008301526143be81614382565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061442160258361318a565b915061442c826143c5565b604082019050919050565b6000602082019050818103600083015261445081614414565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006144b360248361318a565b91506144be82614457565b604082019050919050565b600060208201905081810360008301526144e2816144a6565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061451f60198361318a565b915061452a826144e9565b602082019050919050565b6000602082019050818103600083015261454e81614512565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006145b160328361318a565b91506145bc82614555565b604082019050919050565b600060208201905081810360008301526145e0816145a4565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006146286017836145e7565b9150614633826145f2565b601782019050919050565b60006146498261317f565b61465381856145e7565b935061466381856020860161319b565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006146a56011836145e7565b91506146b08261466f565b601182019050919050565b60006146c68261461b565b91506146d2828561463e565b91506146dd82614698565b91506146e9828461463e565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061471c826146f5565b6147268185614700565b935061473681856020860161319b565b61473f816131ce565b840191505092915050565b600060808201905061475f60008301876132cf565b61476c60208301866132cf565b6147796040830185613365565b818103606083015261478b8184614711565b905095945050505050565b6000815190506147a5816130f0565b92915050565b6000602082840312156147c1576147c06130ba565b5b60006147cf84828501614796565b91505092915050565b60006147e38261323a565b91506147ee8361323a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561482757614826613c9f565b5b828202905092915050565b600061483d8261323a565b9150600082141561485157614850613c9f565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061489260208361318a565b915061489d8261485c565b602082019050919050565b600060208201905081810360008301526148c181614885565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061492460358361318a565b915061492f826148c8565b604082019050919050565b6000602082019050818103600083015261495381614917565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061499060208361318a565b915061499b8261495a565b602082019050919050565b600060208201905081810360008301526149bf81614983565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006149fc601c8361318a565b9150614a07826149c6565b602082019050919050565b60006020820190508181036000830152614a2b816149ef565b9050919050565b6000614a3d8261323a565b9150614a488361323a565b925082821015614a5b57614a5a613c9f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212205e5167f023bc755b48d59c15b82a9e2f3a17da16d7ed54e4c6a1eaf7f96b5e5964736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c80636198e3391161013b578063ace9e2e2116100b8578063d53913931161007c578063d5391393146106f9578063d547741f14610717578063dcec329414610733578063dd46706414610763578063e985e9c51461077f57610248565b8063ace9e2e214610657578063b6a6a93d14610673578063b88d4fde1461068f578063b930908f146106ab578063c87b56dd146106c957610248565b806395d89b41116100ff57806395d89b41146105c7578063965f4c60146105e55780639dc29fac14610601578063a217fddf1461061d578063a22cb4651461063b57610248565b80636198e339146104ff5780636352211e1461051b57806370a082311461054b57806379deb6e71461057b57806391d148541461059757610248565b80632913daa0116101c957806336568abe1161018d57806336568abe1461044b57806342842e0e1461046757806343508b05146104835780634f6ccce7146104b3578063530dd079146104e357610248565b80632913daa0146103a75780632f286b1b146103c55780632f2ff15d146103e35780632f745c59146103ff578063327ba6151461042f57610248565b806318160ddd1161021057806318160ddd1461030357806319d1997a146103215780631cf4e3ee1461033f57806323b872dd1461035b578063248a9ca31461037757610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b57806308f16086146102cb578063095ea7b3146102e7575b600080fd5b6102676004803603810190610262919061311c565b6107af565b6040516102749190613164565b60405180910390f35b6102856107c1565b6040516102929190613218565b60405180910390f35b6102b560048036038101906102b09190613270565b610853565b6040516102c291906132de565b60405180910390f35b6102e560048036038101906102e09190613270565b610899565b005b61030160048036038101906102fc9190613325565b6108f4565b005b61030b610a0c565b6040516103189190613374565b60405180910390f35b610329610a19565b6040516103369190613374565b60405180910390f35b6103596004803603810190610354919061338f565b610a3d565b005b610375600480360381019061037091906133bc565b610a6a565b005b610391600480360381019061038c9190613445565b610aca565b60405161039e9190613481565b60405180910390f35b6103af610ae9565b6040516103bc9190613374565b60405180910390f35b6103cd610aef565b6040516103da9190613481565b60405180910390f35b6103fd60048036038101906103f8919061349c565b610b13565b005b61041960048036038101906104149190613325565b610b34565b6040516104269190613374565b60405180910390f35b6104496004803603810190610444919061338f565b610bd9565b005b6104656004803603810190610460919061349c565b610c06565b005b610481600480360381019061047c91906133bc565b610c89565b005b61049d60048036038101906104989190613325565b610ca9565b6040516104aa919061359a565b60405180910390f35b6104cd60048036038101906104c89190613270565b610ebf565b6040516104da9190613374565b60405180910390f35b6104fd60048036038101906104f8919061338f565b610f30565b005b61051960048036038101906105149190613270565b610f5d565b005b61053560048036038101906105309190613270565b61108c565b60405161054291906132de565b60405180910390f35b6105656004803603810190610560919061338f565b611113565b6040516105729190613374565b60405180910390f35b6105956004803603810190610590919061338f565b6111cb565b005b6105b160048036038101906105ac919061349c565b6111f8565b6040516105be9190613164565b60405180910390f35b6105cf611262565b6040516105dc9190613218565b60405180910390f35b6105ff60048036038101906105fa919061338f565b6112f4565b005b61061b60048036038101906106169190613325565b611321565b005b610625611478565b6040516106329190613481565b60405180910390f35b610655600480360381019061065091906135e8565b61147f565b005b610671600480360381019061066c919061338f565b611495565b005b61068d6004803603810190610688919061338f565b6114c2565b005b6106a960048036038101906106a4919061375d565b611514565b005b6106b3611576565b6040516106c09190613481565b60405180910390f35b6106e360048036038101906106de9190613270565b61159a565b6040516106f09190613218565b60405180910390f35b61070161168e565b60405161070e9190613481565b60405180910390f35b610731600480360381019061072c919061349c565b6116b2565b005b61074d60048036038101906107489190613270565b6116d3565b60405161075a9190613164565b60405180910390f35b61077d60048036038101906107789190613270565b6116f3565b005b610799600480360381019061079491906137e0565b611823565b6040516107a69190613164565b60405180910390f35b60006107ba826118b7565b9050919050565b6060600180546107d09061384f565b80601f01602080910402602001604051908101604052809291908181526020018280546107fc9061384f565b80156108495780601f1061081e57610100808354040283529160200191610849565b820191906000526020600020905b81548152906001019060200180831161082c57829003601f168201915b5050505050905090565b600061085e82611931565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000801b6108a68161197c565b600082116108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e0906138cd565b60405180910390fd5b81600e819055505050565b60006108ff8261108c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610970576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109679061395f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661098f611990565b73ffffffffffffffffffffffffffffffffffffffff1614806109be57506109bd816109b8611990565b611823565b5b6109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f4906139f1565b60405180910390fd5b610a078383611998565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a677f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b2565b50565b610a7b610a75611990565b82611a51565b610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190613a83565b60405180910390fd5b610ac5838383611ae6565b505050565b6000806000838152602001908152602001600020600101549050919050565b600e5481565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b1c82610aca565b610b258161197c565b610b2f8383611de0565b505050565b6000610b3f83611113565b8210610b80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7790613b15565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610c037fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b13565b50565b610c0e611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7290613ba7565b60405180910390fd5b610c858282611ec0565b5050565b610ca483838360405180602001604052806000815250611514565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd58161197c565b60008311610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f90613c13565b60405180910390fd5b600e54831115610d5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5490613c7f565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610dfc577f000000000000000000000000000000000000000000000000000000000000000083610db0610a0c565b610dba9190613cce565b1115610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290613d70565b60405180910390fd5b5b60008367ffffffffffffffff811115610e1857610e17613632565b5b604051908082528060200260200182016040528015610e465781602001602082028036833780820191505090505b50905060005b84811015610eb3576001600d6000828254610e679190613cce565b925050819055506000600d549050610e7f8782611fa1565b80838381518110610e9357610e92613d90565b5b602002602001018181525050508080610eab90613dbf565b915050610e4c565b50809250505092915050565b6000610ec9610a0c565b8210610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0190613e7a565b60405180910390fd5b60098281548110610f1e57610f1d613d90565b5b90600052602060002001549050919050565b610f5a7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b13565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f878161197c565b610f9082611fbf565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613ee6565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690613f52565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b60008061109883612000565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561110a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110190613fbe565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90614050565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111f57fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b2565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600280546112719061384f565b80601f016020809104026020016040519081016040528092919081815260200182805461129d9061384f565b80156112ea5780601f106112bf576101008083540402835291602001916112ea565b820191906000526020600020905b8154815290600101906020018083116112cd57829003601f168201915b5050505050905090565b61131e7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b2565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2261134b8161197c565b61135482611fbf565b611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a906140bc565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156113f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113eb90614128565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114148361108c565b73ffffffffffffffffffffffffffffffffffffffff161461146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906141ba565b60405180910390fd5b6114738261203d565b505050565b6000801b81565b61149161148a611990565b838361218b565b5050565b6114bf7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b13565b50565b6000801b6114cf8161197c565b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b61152561151f611990565b83611a51565b611564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155b90613a83565b60405180910390fd5b611570848484846122f8565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115a582611fbf565b6115e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115db90614226565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b8152600401611641929190614246565b600060405180830381865afa15801561165e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906116879190614310565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bb82610aca565b6116c48161197c565b6116ce8383611ec0565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161171d8161197c565b61172682611fbf565b611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c90613ee6565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bd906143a5565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061192a575061192982612354565b5b9050919050565b61193a81611fbf565b611979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197090613fbe565b60405180910390fd5b50565b61198d81611988611990565b612436565b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a0b8361108c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a5d8361108c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a9f5750611a9e8185611823565b5b80611add57508373ffffffffffffffffffffffffffffffffffffffff16611ac584610853565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b068261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390614437565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc3906144c9565b60405180910390fd5b611bd983838360016124bb565b8273ffffffffffffffffffffffffffffffffffffffff16611bf98261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4690614437565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611ddb83838360016124cd565b505050565b611dea82826111f8565b611ebc57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e61611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611eca82826111f8565b15611f9d57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f42611990565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611fbb8282604051806020016040528060008152506124d3565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fe183612000565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006120488261108c565b90506120588160008460016124bb565b6120618261108c565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121878160008460016124cd565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f190614535565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122eb9190613164565b60405180910390a3505050565b612303848484611ae6565b61230f8484848461252e565b61234e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612345906145c7565b60405180910390fd5b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061241f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061242f575061242e826126b6565b5b9050919050565b61244082826111f8565b6124b75761244d81612730565b61245b8360001c602061275d565b60405160200161246c9291906146bb565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ae9190613218565b60405180910390fd5b5050565b6124c784848484612999565b50505050565b50505050565b6124dd8383612af9565b6124ea600084848461252e565b612529576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612520906145c7565b60405180910390fd5b505050565b600061254f8473ffffffffffffffffffffffffffffffffffffffff16612d17565b156126a9578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612578611990565b8786866040518563ffffffff1660e01b815260040161259a949392919061474a565b6020604051808303816000875af19250505080156125d657506040513d601f19601f820116820180604052508101906125d391906147ab565b60015b612659573d8060008114612606576040519150601f19603f3d011682016040523d82523d6000602084013e61260b565b606091505b50600081511415612651576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612648906145c7565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506126ae565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612729575061272882612d3a565b5b9050919050565b60606127568273ffffffffffffffffffffffffffffffffffffffff16601460ff1661275d565b9050919050565b60606000600283600261277091906147d8565b61277a9190613cce565b67ffffffffffffffff81111561279357612792613632565b5b6040519080825280601f01601f1916602001820160405280156127c55781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127fd576127fc613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061286157612860613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026128a191906147d8565b6128ab9190613cce565b90505b600181111561294b577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106128ed576128ec613d90565b5b1a60f81b82828151811061290457612903613d90565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061294490614832565b90506128ae565b506000841461298f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612986906148a8565b60405180910390fd5b8091505092915050565b6129a584848484612da4565b60018111156129e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e09061493a565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612a3157612a2c81612daa565b612a70565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612a6f57612a6e8582612df3565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612ab357612aae81612f60565b612af2565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612af157612af08482613031565b5b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b60906149a6565b60405180910390fd5b612b7281611fbf565b15612bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba990614a12565b60405180910390fd5b612bc06000838360016124bb565b612bc981611fbf565b15612c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0090614a12565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612d136000838360016124cd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612e0084611113565b612e0a9190614a32565b9050600060086000848152602001908152602001600020549050818114612eef576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612f749190614a32565b90506000600a6000848152602001908152602001600020549050600060098381548110612fa457612fa3613d90565b5b906000526020600020015490508060098381548110612fc657612fc5613d90565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a600085815260200190815260200160002060009055600980548061301557613014614a66565b5b6001900381819060005260206000200160009055905550505050565b600061303c83611113565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130f9816130c4565b811461310457600080fd5b50565b600081359050613116816130f0565b92915050565b600060208284031215613132576131316130ba565b5b600061314084828501613107565b91505092915050565b60008115159050919050565b61315e81613149565b82525050565b60006020820190506131796000830184613155565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b957808201518184015260208101905061319e565b838111156131c8576000848401525b50505050565b6000601f19601f8301169050919050565b60006131ea8261317f565b6131f4818561318a565b935061320481856020860161319b565b61320d816131ce565b840191505092915050565b6000602082019050818103600083015261323281846131df565b905092915050565b6000819050919050565b61324d8161323a565b811461325857600080fd5b50565b60008135905061326a81613244565b92915050565b600060208284031215613286576132856130ba565b5b60006132948482850161325b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c88261329d565b9050919050565b6132d8816132bd565b82525050565b60006020820190506132f360008301846132cf565b92915050565b613302816132bd565b811461330d57600080fd5b50565b60008135905061331f816132f9565b92915050565b6000806040838503121561333c5761333b6130ba565b5b600061334a85828601613310565b925050602061335b8582860161325b565b9150509250929050565b61336e8161323a565b82525050565b60006020820190506133896000830184613365565b92915050565b6000602082840312156133a5576133a46130ba565b5b60006133b384828501613310565b91505092915050565b6000806000606084860312156133d5576133d46130ba565b5b60006133e386828701613310565b93505060206133f486828701613310565b92505060406134058682870161325b565b9150509250925092565b6000819050919050565b6134228161340f565b811461342d57600080fd5b50565b60008135905061343f81613419565b92915050565b60006020828403121561345b5761345a6130ba565b5b600061346984828501613430565b91505092915050565b61347b8161340f565b82525050565b60006020820190506134966000830184613472565b92915050565b600080604083850312156134b3576134b26130ba565b5b60006134c185828601613430565b92505060206134d285828601613310565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135118161323a565b82525050565b60006135238383613508565b60208301905092915050565b6000602082019050919050565b6000613547826134dc565b61355181856134e7565b935061355c836134f8565b8060005b8381101561358d5781516135748882613517565b975061357f8361352f565b925050600181019050613560565b5085935050505092915050565b600060208201905081810360008301526135b4818461353c565b905092915050565b6135c581613149565b81146135d057600080fd5b50565b6000813590506135e2816135bc565b92915050565b600080604083850312156135ff576135fe6130ba565b5b600061360d85828601613310565b925050602061361e858286016135d3565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61366a826131ce565b810181811067ffffffffffffffff8211171561368957613688613632565b5b80604052505050565b600061369c6130b0565b90506136a88282613661565b919050565b600067ffffffffffffffff8211156136c8576136c7613632565b5b6136d1826131ce565b9050602081019050919050565b82818337600083830152505050565b60006137006136fb846136ad565b613692565b90508281526020810184848401111561371c5761371b61362d565b5b6137278482856136de565b509392505050565b600082601f83011261374457613743613628565b5b81356137548482602086016136ed565b91505092915050565b60008060008060808587031215613777576137766130ba565b5b600061378587828801613310565b945050602061379687828801613310565b93505060406137a78782880161325b565b925050606085013567ffffffffffffffff8111156137c8576137c76130bf565b5b6137d48782880161372f565b91505092959194509250565b600080604083850312156137f7576137f66130ba565b5b600061380585828601613310565b925050602061381685828601613310565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061386757607f821691505b6020821081141561387b5761387a613820565b5b50919050565b7f62617463682073697a6520746f6f2073686f7274000000000000000000000000600082015250565b60006138b760148361318a565b91506138c282613881565b602082019050919050565b600060208201905081810360008301526138e6816138aa565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061394960218361318a565b9150613954826138ed565b604082019050919050565b600060208201905081810360008301526139788161393c565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006139db603d8361318a565b91506139e68261397f565b604082019050919050565b60006020820190508181036000830152613a0a816139ce565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613a6d602d8361318a565b9150613a7882613a11565b604082019050919050565b60006020820190508181036000830152613a9c81613a60565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613aff602b8361318a565b9150613b0a82613aa3565b604082019050919050565b60006020820190508181036000830152613b2e81613af2565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613b91602f8361318a565b9150613b9c82613b35565b604082019050919050565b60006020820190508181036000830152613bc081613b84565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613bfd60128361318a565b9150613c0882613bc7565b602082019050919050565b60006020820190508181036000830152613c2c81613bf0565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c6960118361318a565b9150613c7482613c33565b602082019050919050565b60006020820190508181036000830152613c9881613c5c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cd98261323a565b9150613ce48361323a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d1957613d18613c9f565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d5a60178361318a565b9150613d6582613d24565b602082019050919050565b60006020820190508181036000830152613d8981613d4d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613dca8261323a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613dfd57613dfc613c9f565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613e64602c8361318a565b9150613e6f82613e08565b604082019050919050565b60006020820190508181036000830152613e9381613e57565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613ed060158361318a565b9150613edb82613e9a565b602082019050919050565b60006020820190508181036000830152613eff81613ec3565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000613f3c601a8361318a565b9150613f4782613f06565b602082019050919050565b60006020820190508181036000830152613f6b81613f2f565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613fa860188361318a565b9150613fb382613f72565b602082019050919050565b60006020820190508181036000830152613fd781613f9b565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061403a60298361318a565b915061404582613fde565b604082019050919050565b600060208201905081810360008301526140698161402d565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006140a660128361318a565b91506140b182614070565b602082019050919050565b600060208201905081810360008301526140d581614099565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b600061411260198361318a565b915061411d826140dc565b602082019050919050565b6000602082019050818103600083015261414181614105565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b60006141a4602d8361318a565b91506141af82614148565b604082019050919050565b600060208201905081810360008301526141d381614197565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000614210601f8361318a565b915061421b826141da565b602082019050919050565b6000602082019050818103600083015261423f81614203565b9050919050565b600060408201905061425b60008301856132cf565b6142686020830184613365565b9392505050565b600067ffffffffffffffff82111561428a57614289613632565b5b614293826131ce565b9050602081019050919050565b60006142b36142ae8461426f565b613692565b9050828152602081018484840111156142cf576142ce61362d565b5b6142da84828561319b565b509392505050565b600082601f8301126142f7576142f6613628565b5b81516143078482602086016142a0565b91505092915050565b600060208284031215614326576143256130ba565b5b600082015167ffffffffffffffff811115614344576143436130bf565b5b614350848285016142e2565b91505092915050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061438f60188361318a565b915061439a82614359565b602082019050919050565b600060208201905081810360008301526143be81614382565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061442160258361318a565b915061442c826143c5565b604082019050919050565b6000602082019050818103600083015261445081614414565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006144b360248361318a565b91506144be82614457565b604082019050919050565b600060208201905081810360008301526144e2816144a6565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061451f60198361318a565b915061452a826144e9565b602082019050919050565b6000602082019050818103600083015261454e81614512565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006145b160328361318a565b91506145bc82614555565b604082019050919050565b600060208201905081810360008301526145e0816145a4565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006146286017836145e7565b9150614633826145f2565b601782019050919050565b60006146498261317f565b61465381856145e7565b935061466381856020860161319b565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006146a56011836145e7565b91506146b08261466f565b601182019050919050565b60006146c68261461b565b91506146d2828561463e565b91506146dd82614698565b91506146e9828461463e565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061471c826146f5565b6147268185614700565b935061473681856020860161319b565b61473f816131ce565b840191505092915050565b600060808201905061475f60008301876132cf565b61476c60208301866132cf565b6147796040830185613365565b818103606083015261478b8184614711565b905095945050505050565b6000815190506147a5816130f0565b92915050565b6000602082840312156147c1576147c06130ba565b5b60006147cf84828501614796565b91505092915050565b60006147e38261323a565b91506147ee8361323a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561482757614826613c9f565b5b828202905092915050565b600061483d8261323a565b9150600082141561485157614850613c9f565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061489260208361318a565b915061489d8261485c565b602082019050919050565b600060208201905081810360008301526148c181614885565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061492460358361318a565b915061492f826148c8565b604082019050919050565b6000602082019050818103600083015261495381614917565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061499060208361318a565b915061499b8261495a565b602082019050919050565b600060208201905081810360008301526149bf81614983565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006149fc601c8361318a565b9150614a07826149c6565b602082019050919050565b60006020820190508181036000830152614a2b816149ef565b9050919050565b6000614a3d8261323a565b9150614a488361323a565b925082821015614a5b57614a5a613c9f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212205e5167f023bc755b48d59c15b82a9e2f3a17da16d7ed54e4c6a1eaf7f96b5e5964736f6c634300080a0033", "immutableReferences": { - "2365": [ + "3493": [ { "length": 32, - "start": 2577 + "start": 2587 }, { "length": 32, - "start": 3357 + "start": 3425 }, { "length": 32, - "start": 3396 + "start": 3464 } ] }, @@ -944,22 +899,22 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:4609:14", + "src": "0:4609:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:14", + "src": "47:35:17", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:14", + "src": "57:19:17", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:14", + "src": "73:2:17", "type": "", "value": "64" } @@ -967,16 +922,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:14" + "src": "67:5:17" }, "nodeType": "YulFunctionCall", - "src": "67:9:14" + "src": "67:9:17" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:14" + "src": "57:6:17" } ] } @@ -988,16 +943,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:14", + "src": "40:6:17", "type": "" } ], - "src": "7:75:14" + "src": "7:75:17" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:14", + "src": "177:28:17", "statements": [ { "expression": { @@ -1005,14 +960,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:14", + "src": "194:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:14", + "src": "197:1:17", "type": "", "value": "0" } @@ -1020,24 +975,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:14" + "src": "187:6:17" }, "nodeType": "YulFunctionCall", - "src": "187:12:14" + "src": "187:12:17" }, "nodeType": "YulExpressionStatement", - "src": "187:12:14" + "src": "187:12:17" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:14" + "src": "88:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:14", + "src": "300:28:17", "statements": [ { "expression": { @@ -1045,14 +1000,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:14", + "src": "317:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:14", + "src": "320:1:17", "type": "", "value": "0" } @@ -1060,24 +1015,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:14" + "src": "310:6:17" }, "nodeType": "YulFunctionCall", - "src": "310:12:14" + "src": "310:12:17" }, "nodeType": "YulExpressionStatement", - "src": "310:12:14" + "src": "310:12:17" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:14" + "src": "211:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "423:28:14", + "src": "423:28:17", "statements": [ { "expression": { @@ -1085,14 +1040,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "440:1:14", + "src": "440:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "443:1:14", + "src": "443:1:17", "type": "", "value": "0" } @@ -1100,24 +1055,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "433:6:14" + "src": "433:6:17" }, "nodeType": "YulFunctionCall", - "src": "433:12:14" + "src": "433:12:17" }, "nodeType": "YulExpressionStatement", - "src": "433:12:14" + "src": "433:12:17" } ] }, "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", - "src": "334:117:14" + "src": "334:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "546:28:14", + "src": "546:28:17", "statements": [ { "expression": { @@ -1125,14 +1080,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "563:1:14", + "src": "563:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "566:1:14", + "src": "566:1:17", "type": "", "value": "0" } @@ -1140,28 +1095,28 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "556:6:14" + "src": "556:6:17" }, "nodeType": "YulFunctionCall", - "src": "556:12:14" + "src": "556:12:17" }, "nodeType": "YulExpressionStatement", - "src": "556:12:14" + "src": "556:12:17" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", - "src": "457:117:14" + "src": "457:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "628:54:14", + "src": "628:54:17", "statements": [ { "nodeType": "YulAssignment", - "src": "638:38:14", + "src": "638:38:17", "value": { "arguments": [ { @@ -1169,12 +1124,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "656:5:14" + "src": "656:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "663:2:14", + "src": "663:2:17", "type": "", "value": "31" } @@ -1182,17 +1137,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "652:3:14" + "src": "652:3:17" }, "nodeType": "YulFunctionCall", - "src": "652:14:14" + "src": "652:14:17" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "672:2:14", + "src": "672:2:17", "type": "", "value": "31" } @@ -1200,25 +1155,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "668:3:14" + "src": "668:3:17" }, "nodeType": "YulFunctionCall", - "src": "668:7:14" + "src": "668:7:17" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "648:3:14" + "src": "648:3:17" }, "nodeType": "YulFunctionCall", - "src": "648:28:14" + "src": "648:28:17" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "638:6:14" + "src": "638:6:17" } ] } @@ -1230,7 +1185,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "611:5:14", + "src": "611:5:17", "type": "" } ], @@ -1238,16 +1193,16 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "621:6:14", + "src": "621:6:17", "type": "" } ], - "src": "580:102:14" + "src": "580:102:17" }, { "body": { "nodeType": "YulBlock", - "src": "716:152:14", + "src": "716:152:17", "statements": [ { "expression": { @@ -1255,14 +1210,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "733:1:14", + "src": "733:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "736:77:14", + "src": "736:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -1270,13 +1225,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "726:6:14" + "src": "726:6:17" }, "nodeType": "YulFunctionCall", - "src": "726:88:14" + "src": "726:88:17" }, "nodeType": "YulExpressionStatement", - "src": "726:88:14" + "src": "726:88:17" }, { "expression": { @@ -1284,14 +1239,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "830:1:14", + "src": "830:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "833:4:14", + "src": "833:4:17", "type": "", "value": "0x41" } @@ -1299,13 +1254,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "823:6:14" + "src": "823:6:17" }, "nodeType": "YulFunctionCall", - "src": "823:15:14" + "src": "823:15:17" }, "nodeType": "YulExpressionStatement", - "src": "823:15:14" + "src": "823:15:17" }, { "expression": { @@ -1313,14 +1268,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "854:1:14", + "src": "854:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "857:4:14", + "src": "857:4:17", "type": "", "value": "0x24" } @@ -1328,65 +1283,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "847:6:14" + "src": "847:6:17" }, "nodeType": "YulFunctionCall", - "src": "847:15:14" + "src": "847:15:17" }, "nodeType": "YulExpressionStatement", - "src": "847:15:14" + "src": "847:15:17" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "688:180:14" + "src": "688:180:17" }, { "body": { "nodeType": "YulBlock", - "src": "917:238:14", + "src": "917:238:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "927:58:14", + "src": "927:58:17", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "949:6:14" + "src": "949:6:17" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "979:4:14" + "src": "979:4:17" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "957:21:14" + "src": "957:21:17" }, "nodeType": "YulFunctionCall", - "src": "957:27:14" + "src": "957:27:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "945:3:14" + "src": "945:3:17" }, "nodeType": "YulFunctionCall", - "src": "945:40:14" + "src": "945:40:17" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "931:10:14", + "src": "931:10:17", "type": "" } ] @@ -1394,7 +1349,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1096:22:14", + "src": "1096:22:17", "statements": [ { "expression": { @@ -1402,13 +1357,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1098:16:14" + "src": "1098:16:17" }, "nodeType": "YulFunctionCall", - "src": "1098:18:14" + "src": "1098:18:17" }, "nodeType": "YulExpressionStatement", - "src": "1098:18:14" + "src": "1098:18:17" } ] }, @@ -1419,12 +1374,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1039:10:14" + "src": "1039:10:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1051:18:14", + "src": "1051:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -1432,43 +1387,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1036:2:14" + "src": "1036:2:17" }, "nodeType": "YulFunctionCall", - "src": "1036:34:14" + "src": "1036:34:17" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1075:10:14" + "src": "1075:10:17" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1087:6:14" + "src": "1087:6:17" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1072:2:14" + "src": "1072:2:17" }, "nodeType": "YulFunctionCall", - "src": "1072:22:14" + "src": "1072:22:17" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "1033:2:14" + "src": "1033:2:17" }, "nodeType": "YulFunctionCall", - "src": "1033:62:14" + "src": "1033:62:17" }, "nodeType": "YulIf", - "src": "1030:88:14" + "src": "1030:88:17" }, { "expression": { @@ -1476,26 +1431,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1134:2:14", + "src": "1134:2:17", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1138:10:14" + "src": "1138:10:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1127:6:14" + "src": "1127:6:17" }, "nodeType": "YulFunctionCall", - "src": "1127:22:14" + "src": "1127:22:17" }, "nodeType": "YulExpressionStatement", - "src": "1127:22:14" + "src": "1127:22:17" } ] }, @@ -1505,41 +1460,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "903:6:14", + "src": "903:6:17", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "911:4:14", + "src": "911:4:17", "type": "" } ], - "src": "874:281:14" + "src": "874:281:17" }, { "body": { "nodeType": "YulBlock", - "src": "1202:88:14", + "src": "1202:88:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1212:30:14", + "src": "1212:30:17", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "1222:18:14" + "src": "1222:18:17" }, "nodeType": "YulFunctionCall", - "src": "1222:20:14" + "src": "1222:20:17" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1212:6:14" + "src": "1212:6:17" } ] }, @@ -1549,24 +1504,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1271:6:14" + "src": "1271:6:17" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "1279:4:14" + "src": "1279:4:17" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "1251:19:14" + "src": "1251:19:17" }, "nodeType": "YulFunctionCall", - "src": "1251:33:14" + "src": "1251:33:17" }, "nodeType": "YulExpressionStatement", - "src": "1251:33:14" + "src": "1251:33:17" } ] }, @@ -1576,7 +1531,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1186:4:14", + "src": "1186:4:17", "type": "" } ], @@ -1584,21 +1539,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "1195:6:14", + "src": "1195:6:17", "type": "" } ], - "src": "1161:129:14" + "src": "1161:129:17" }, { "body": { "nodeType": "YulBlock", - "src": "1363:241:14", + "src": "1363:241:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1468:22:14", + "src": "1468:22:17", "statements": [ { "expression": { @@ -1606,13 +1561,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1470:16:14" + "src": "1470:16:17" }, "nodeType": "YulFunctionCall", - "src": "1470:18:14" + "src": "1470:18:17" }, "nodeType": "YulExpressionStatement", - "src": "1470:18:14" + "src": "1470:18:17" } ] }, @@ -1621,12 +1576,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "1440:6:14" + "src": "1440:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1448:18:14", + "src": "1448:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -1634,55 +1589,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1437:2:14" + "src": "1437:2:17" }, "nodeType": "YulFunctionCall", - "src": "1437:30:14" + "src": "1437:30:17" }, "nodeType": "YulIf", - "src": "1434:56:14" + "src": "1434:56:17" }, { "nodeType": "YulAssignment", - "src": "1500:37:14", + "src": "1500:37:17", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1530:6:14" + "src": "1530:6:17" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "1508:21:14" + "src": "1508:21:17" }, "nodeType": "YulFunctionCall", - "src": "1508:29:14" + "src": "1508:29:17" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1500:4:14" + "src": "1500:4:17" } ] }, { "nodeType": "YulAssignment", - "src": "1574:23:14", + "src": "1574:23:17", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1586:4:14" + "src": "1586:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1592:4:14", + "src": "1592:4:17", "type": "", "value": "0x20" } @@ -1690,16 +1645,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1582:3:14" + "src": "1582:3:17" }, "nodeType": "YulFunctionCall", - "src": "1582:15:14" + "src": "1582:15:17" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1574:4:14" + "src": "1574:4:17" } ] } @@ -1711,7 +1666,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1347:6:14", + "src": "1347:6:17", "type": "" } ], @@ -1719,24 +1674,24 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1358:4:14", + "src": "1358:4:17", "type": "" } ], - "src": "1296:308:14" + "src": "1296:308:17" }, { "body": { "nodeType": "YulBlock", - "src": "1659:258:14", + "src": "1659:258:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1669:10:14", + "src": "1669:10:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1678:1:14", + "src": "1678:1:17", "type": "", "value": "0" }, @@ -1744,7 +1699,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1673:1:14", + "src": "1673:1:17", "type": "" } ] @@ -1752,7 +1707,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1738:63:14", + "src": "1738:63:17", "statements": [ { "expression": { @@ -1762,21 +1717,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1763:3:14" + "src": "1763:3:17" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1768:1:14" + "src": "1768:1:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1759:3:14" + "src": "1759:3:17" }, "nodeType": "YulFunctionCall", - "src": "1759:11:14" + "src": "1759:11:17" }, { "arguments": [ @@ -1785,42 +1740,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1782:3:14" + "src": "1782:3:17" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1787:1:14" + "src": "1787:1:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1778:3:14" + "src": "1778:3:17" }, "nodeType": "YulFunctionCall", - "src": "1778:11:14" + "src": "1778:11:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1772:5:14" + "src": "1772:5:17" }, "nodeType": "YulFunctionCall", - "src": "1772:18:14" + "src": "1772:18:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1752:6:14" + "src": "1752:6:17" }, "nodeType": "YulFunctionCall", - "src": "1752:39:14" + "src": "1752:39:17" }, "nodeType": "YulExpressionStatement", - "src": "1752:39:14" + "src": "1752:39:17" } ] }, @@ -1829,41 +1784,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1699:1:14" + "src": "1699:1:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1702:6:14" + "src": "1702:6:17" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1696:2:14" + "src": "1696:2:17" }, "nodeType": "YulFunctionCall", - "src": "1696:13:14" + "src": "1696:13:17" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1710:19:14", + "src": "1710:19:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1712:15:14", + "src": "1712:15:17", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1721:1:14" + "src": "1721:1:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1724:2:14", + "src": "1724:2:17", "type": "", "value": "32" } @@ -1871,16 +1826,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1717:3:14" + "src": "1717:3:17" }, "nodeType": "YulFunctionCall", - "src": "1717:10:14" + "src": "1717:10:17" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1712:1:14" + "src": "1712:1:17" } ] } @@ -1888,15 +1843,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1692:3:14", + "src": "1692:3:17", "statements": [] }, - "src": "1688:113:14" + "src": "1688:113:17" }, { "body": { "nodeType": "YulBlock", - "src": "1835:76:14", + "src": "1835:76:17", "statements": [ { "expression": { @@ -1906,26 +1861,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1885:3:14" + "src": "1885:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:14" + "src": "1890:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1881:3:14" + "src": "1881:3:17" }, "nodeType": "YulFunctionCall", - "src": "1881:16:14" + "src": "1881:16:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1899:1:14", + "src": "1899:1:17", "type": "", "value": "0" } @@ -1933,13 +1888,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1874:6:14" + "src": "1874:6:17" }, "nodeType": "YulFunctionCall", - "src": "1874:27:14" + "src": "1874:27:17" }, "nodeType": "YulExpressionStatement", - "src": "1874:27:14" + "src": "1874:27:17" } ] }, @@ -1948,24 +1903,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1816:1:14" + "src": "1816:1:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1819:6:14" + "src": "1819:6:17" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1813:2:14" + "src": "1813:2:17" }, "nodeType": "YulFunctionCall", - "src": "1813:13:14" + "src": "1813:13:17" }, "nodeType": "YulIf", - "src": "1810:101:14" + "src": "1810:101:17" } ] }, @@ -1975,32 +1930,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1641:3:14", + "src": "1641:3:17", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1646:3:14", + "src": "1646:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1651:6:14", + "src": "1651:6:17", "type": "" } ], - "src": "1610:307:14" + "src": "1610:307:17" }, { "body": { "nodeType": "YulBlock", - "src": "2018:326:14", + "src": "2018:326:17", "statements": [ { "nodeType": "YulAssignment", - "src": "2028:75:14", + "src": "2028:75:17", "value": { "arguments": [ { @@ -2008,31 +1963,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "2095:6:14" + "src": "2095:6:17" } ], "functionName": { "name": "array_allocation_size_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2053:41:14" + "src": "2053:41:17" }, "nodeType": "YulFunctionCall", - "src": "2053:49:14" + "src": "2053:49:17" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "2037:15:14" + "src": "2037:15:17" }, "nodeType": "YulFunctionCall", - "src": "2037:66:14" + "src": "2037:66:17" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2028:5:14" + "src": "2028:5:17" } ] }, @@ -2042,39 +1997,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "2119:5:14" + "src": "2119:5:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2126:6:14" + "src": "2126:6:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2112:6:14" + "src": "2112:6:17" }, "nodeType": "YulFunctionCall", - "src": "2112:21:14" + "src": "2112:21:17" }, "nodeType": "YulExpressionStatement", - "src": "2112:21:14" + "src": "2112:21:17" }, { "nodeType": "YulVariableDeclaration", - "src": "2142:27:14", + "src": "2142:27:17", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2157:5:14" + "src": "2157:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2164:4:14", + "src": "2164:4:17", "type": "", "value": "0x20" } @@ -2082,16 +2037,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2153:3:14" + "src": "2153:3:17" }, "nodeType": "YulFunctionCall", - "src": "2153:16:14" + "src": "2153:16:17" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "2146:3:14", + "src": "2146:3:17", "type": "" } ] @@ -2099,7 +2054,7 @@ { "body": { "nodeType": "YulBlock", - "src": "2207:83:14", + "src": "2207:83:17", "statements": [ { "expression": { @@ -2107,13 +2062,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "2209:77:14" + "src": "2209:77:17" }, "nodeType": "YulFunctionCall", - "src": "2209:79:14" + "src": "2209:79:17" }, "nodeType": "YulExpressionStatement", - "src": "2209:79:14" + "src": "2209:79:17" } ] }, @@ -2124,38 +2079,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2188:3:14" + "src": "2188:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2193:6:14" + "src": "2193:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2184:3:14" + "src": "2184:3:17" }, "nodeType": "YulFunctionCall", - "src": "2184:16:14" + "src": "2184:16:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2202:3:14" + "src": "2202:3:17" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2181:2:14" + "src": "2181:2:17" }, "nodeType": "YulFunctionCall", - "src": "2181:25:14" + "src": "2181:25:17" }, "nodeType": "YulIf", - "src": "2178:112:14" + "src": "2178:112:17" }, { "expression": { @@ -2163,29 +2118,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2321:3:14" + "src": "2321:3:17" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "2326:3:14" + "src": "2326:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2331:6:14" + "src": "2331:6:17" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2299:21:14" + "src": "2299:21:17" }, "nodeType": "YulFunctionCall", - "src": "2299:39:14" + "src": "2299:39:17" }, "nodeType": "YulExpressionStatement", - "src": "2299:39:14" + "src": "2299:39:17" } ] }, @@ -2195,19 +2150,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1991:3:14", + "src": "1991:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1996:6:14", + "src": "1996:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2004:3:14", + "src": "2004:3:17", "type": "" } ], @@ -2215,21 +2170,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2012:5:14", + "src": "2012:5:17", "type": "" } ], - "src": "1923:421:14" + "src": "1923:421:17" }, { "body": { "nodeType": "YulBlock", - "src": "2437:282:14", + "src": "2437:282:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2486:83:14", + "src": "2486:83:17", "statements": [ { "expression": { @@ -2237,13 +2192,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "2488:77:14" + "src": "2488:77:17" }, "nodeType": "YulFunctionCall", - "src": "2488:79:14" + "src": "2488:79:17" }, "nodeType": "YulExpressionStatement", - "src": "2488:79:14" + "src": "2488:79:17" } ] }, @@ -2256,12 +2211,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2465:6:14" + "src": "2465:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2473:4:14", + "src": "2473:4:17", "type": "", "value": "0x1f" } @@ -2269,68 +2224,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2461:3:14" + "src": "2461:3:17" }, "nodeType": "YulFunctionCall", - "src": "2461:17:14" + "src": "2461:17:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2480:3:14" + "src": "2480:3:17" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2457:3:14" + "src": "2457:3:17" }, "nodeType": "YulFunctionCall", - "src": "2457:27:14" + "src": "2457:27:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2450:6:14" + "src": "2450:6:17" }, "nodeType": "YulFunctionCall", - "src": "2450:35:14" + "src": "2450:35:17" }, "nodeType": "YulIf", - "src": "2447:122:14" + "src": "2447:122:17" }, { "nodeType": "YulVariableDeclaration", - "src": "2578:27:14", + "src": "2578:27:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2598:6:14" + "src": "2598:6:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "2592:5:14" + "src": "2592:5:17" }, "nodeType": "YulFunctionCall", - "src": "2592:13:14" + "src": "2592:13:17" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2582:6:14", + "src": "2582:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2614:99:14", + "src": "2614:99:17", "value": { "arguments": [ { @@ -2338,12 +2293,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2686:6:14" + "src": "2686:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2694:4:14", + "src": "2694:4:17", "type": "", "value": "0x20" } @@ -2351,35 +2306,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2682:3:14" + "src": "2682:3:17" }, "nodeType": "YulFunctionCall", - "src": "2682:17:14" + "src": "2682:17:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2701:6:14" + "src": "2701:6:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2709:3:14" + "src": "2709:3:17" } ], "functionName": { "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "2623:58:14" + "src": "2623:58:17" }, "nodeType": "YulFunctionCall", - "src": "2623:90:14" + "src": "2623:90:17" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2614:5:14" + "src": "2614:5:17" } ] } @@ -2391,13 +2346,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2415:6:14", + "src": "2415:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2423:3:14", + "src": "2423:3:17", "type": "" } ], @@ -2405,30 +2360,30 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2431:5:14", + "src": "2431:5:17", "type": "" } ], - "src": "2364:355:14" + "src": "2364:355:17" }, { "body": { "nodeType": "YulBlock", - "src": "2770:32:14", + "src": "2770:32:17", "statements": [ { "nodeType": "YulAssignment", - "src": "2780:16:14", + "src": "2780:16:17", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2791:5:14" + "src": "2791:5:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2780:7:14" + "src": "2780:7:17" } ] } @@ -2440,7 +2395,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2752:5:14", + "src": "2752:5:17", "type": "" } ], @@ -2448,21 +2403,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2762:7:14", + "src": "2762:7:17", "type": "" } ], - "src": "2725:77:14" + "src": "2725:77:17" }, { "body": { "nodeType": "YulBlock", - "src": "2851:79:14", + "src": "2851:79:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2908:16:14", + "src": "2908:16:17", "statements": [ { "expression": { @@ -2470,14 +2425,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2917:1:14", + "src": "2917:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2920:1:14", + "src": "2920:1:17", "type": "", "value": "0" } @@ -2485,13 +2440,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2910:6:14" + "src": "2910:6:17" }, "nodeType": "YulFunctionCall", - "src": "2910:12:14" + "src": "2910:12:17" }, "nodeType": "YulExpressionStatement", - "src": "2910:12:14" + "src": "2910:12:17" } ] }, @@ -2502,44 +2457,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2874:5:14" + "src": "2874:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2899:5:14" + "src": "2899:5:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2881:17:14" + "src": "2881:17:17" }, "nodeType": "YulFunctionCall", - "src": "2881:24:14" + "src": "2881:24:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2871:2:14" + "src": "2871:2:17" }, "nodeType": "YulFunctionCall", - "src": "2871:35:14" + "src": "2871:35:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2864:6:14" + "src": "2864:6:17" }, "nodeType": "YulFunctionCall", - "src": "2864:43:14" + "src": "2864:43:17" }, "nodeType": "YulIf", - "src": "2861:63:14" + "src": "2861:63:17" } ] }, @@ -2549,41 +2504,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2844:5:14", + "src": "2844:5:17", "type": "" } ], - "src": "2808:122:14" + "src": "2808:122:17" }, { "body": { "nodeType": "YulBlock", - "src": "2999:80:14", + "src": "2999:80:17", "statements": [ { "nodeType": "YulAssignment", - "src": "3009:22:14", + "src": "3009:22:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3024:6:14" + "src": "3024:6:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3018:5:14" + "src": "3018:5:17" }, "nodeType": "YulFunctionCall", - "src": "3018:13:14" + "src": "3018:13:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3009:5:14" + "src": "3009:5:17" } ] }, @@ -2593,19 +2548,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3067:5:14" + "src": "3067:5:17" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "3040:26:14" + "src": "3040:26:17" }, "nodeType": "YulFunctionCall", - "src": "3040:33:14" + "src": "3040:33:17" }, "nodeType": "YulExpressionStatement", - "src": "3040:33:14" + "src": "3040:33:17" } ] }, @@ -2615,13 +2570,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2977:6:14", + "src": "2977:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2985:3:14", + "src": "2985:3:17", "type": "" } ], @@ -2629,21 +2584,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2993:5:14", + "src": "2993:5:17", "type": "" } ], - "src": "2936:143:14" + "src": "2936:143:17" }, { "body": { "nodeType": "YulBlock", - "src": "3216:878:14", + "src": "3216:878:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3262:83:14", + "src": "3262:83:17", "statements": [ { "expression": { @@ -2651,13 +2606,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3264:77:14" + "src": "3264:77:17" }, "nodeType": "YulFunctionCall", - "src": "3264:79:14" + "src": "3264:79:17" }, "nodeType": "YulExpressionStatement", - "src": "3264:79:14" + "src": "3264:79:17" } ] }, @@ -2668,26 +2623,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3237:7:14" + "src": "3237:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3246:9:14" + "src": "3246:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3233:3:14" + "src": "3233:3:17" }, "nodeType": "YulFunctionCall", - "src": "3233:23:14" + "src": "3233:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3258:2:14", + "src": "3258:2:17", "type": "", "value": "96" } @@ -2695,21 +2650,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3229:3:14" + "src": "3229:3:17" }, "nodeType": "YulFunctionCall", - "src": "3229:32:14" + "src": "3229:32:17" }, "nodeType": "YulIf", - "src": "3226:119:14" + "src": "3226:119:17" }, { "nodeType": "YulBlock", - "src": "3355:291:14", + "src": "3355:291:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3370:38:14", + "src": "3370:38:17", "value": { "arguments": [ { @@ -2717,12 +2672,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3394:9:14" + "src": "3394:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3405:1:14", + "src": "3405:1:17", "type": "", "value": "0" } @@ -2730,25 +2685,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3390:3:14" + "src": "3390:3:17" }, "nodeType": "YulFunctionCall", - "src": "3390:17:14" + "src": "3390:17:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3384:5:14" + "src": "3384:5:17" }, "nodeType": "YulFunctionCall", - "src": "3384:24:14" + "src": "3384:24:17" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3374:6:14", + "src": "3374:6:17", "type": "" } ] @@ -2756,7 +2711,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3455:83:14", + "src": "3455:83:17", "statements": [ { "expression": { @@ -2764,13 +2719,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3457:77:14" + "src": "3457:77:17" }, "nodeType": "YulFunctionCall", - "src": "3457:79:14" + "src": "3457:79:17" }, "nodeType": "YulExpressionStatement", - "src": "3457:79:14" + "src": "3457:79:17" } ] }, @@ -2779,12 +2734,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3427:6:14" + "src": "3427:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3435:18:14", + "src": "3435:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -2792,17 +2747,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3424:2:14" + "src": "3424:2:17" }, "nodeType": "YulFunctionCall", - "src": "3424:30:14" + "src": "3424:30:17" }, "nodeType": "YulIf", - "src": "3421:117:14" + "src": "3421:117:17" }, { "nodeType": "YulAssignment", - "src": "3552:84:14", + "src": "3552:84:17", "value": { "arguments": [ { @@ -2810,41 +2765,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3608:9:14" + "src": "3608:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3619:6:14" + "src": "3619:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3604:3:14" + "src": "3604:3:17" }, "nodeType": "YulFunctionCall", - "src": "3604:22:14" + "src": "3604:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3628:7:14" + "src": "3628:7:17" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3562:41:14" + "src": "3562:41:17" }, "nodeType": "YulFunctionCall", - "src": "3562:74:14" + "src": "3562:74:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3552:6:14" + "src": "3552:6:17" } ] } @@ -2852,11 +2807,11 @@ }, { "nodeType": "YulBlock", - "src": "3656:292:14", + "src": "3656:292:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3671:39:14", + "src": "3671:39:17", "value": { "arguments": [ { @@ -2864,12 +2819,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3695:9:14" + "src": "3695:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3706:2:14", + "src": "3706:2:17", "type": "", "value": "32" } @@ -2877,25 +2832,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3691:3:14" + "src": "3691:3:17" }, "nodeType": "YulFunctionCall", - "src": "3691:18:14" + "src": "3691:18:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3685:5:14" + "src": "3685:5:17" }, "nodeType": "YulFunctionCall", - "src": "3685:25:14" + "src": "3685:25:17" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3675:6:14", + "src": "3675:6:17", "type": "" } ] @@ -2903,7 +2858,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3757:83:14", + "src": "3757:83:17", "statements": [ { "expression": { @@ -2911,13 +2866,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3759:77:14" + "src": "3759:77:17" }, "nodeType": "YulFunctionCall", - "src": "3759:79:14" + "src": "3759:79:17" }, "nodeType": "YulExpressionStatement", - "src": "3759:79:14" + "src": "3759:79:17" } ] }, @@ -2926,12 +2881,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3729:6:14" + "src": "3729:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3737:18:14", + "src": "3737:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -2939,17 +2894,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3726:2:14" + "src": "3726:2:17" }, "nodeType": "YulFunctionCall", - "src": "3726:30:14" + "src": "3726:30:17" }, "nodeType": "YulIf", - "src": "3723:117:14" + "src": "3723:117:17" }, { "nodeType": "YulAssignment", - "src": "3854:84:14", + "src": "3854:84:17", "value": { "arguments": [ { @@ -2957,41 +2912,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3910:9:14" + "src": "3910:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3921:6:14" + "src": "3921:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3906:3:14" + "src": "3906:3:17" }, "nodeType": "YulFunctionCall", - "src": "3906:22:14" + "src": "3906:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3930:7:14" + "src": "3930:7:17" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3864:41:14" + "src": "3864:41:17" }, "nodeType": "YulFunctionCall", - "src": "3864:74:14" + "src": "3864:74:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "3854:6:14" + "src": "3854:6:17" } ] } @@ -2999,15 +2954,15 @@ }, { "nodeType": "YulBlock", - "src": "3958:129:14", + "src": "3958:129:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3973:16:14", + "src": "3973:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3987:2:14", + "src": "3987:2:17", "type": "", "value": "64" }, @@ -3015,14 +2970,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3977:6:14", + "src": "3977:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4003:74:14", + "src": "4003:74:17", "value": { "arguments": [ { @@ -3030,41 +2985,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4049:9:14" + "src": "4049:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4060:6:14" + "src": "4060:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4045:3:14" + "src": "4045:3:17" }, "nodeType": "YulFunctionCall", - "src": "4045:22:14" + "src": "4045:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4069:7:14" + "src": "4069:7:17" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "4013:31:14" + "src": "4013:31:17" }, "nodeType": "YulFunctionCall", - "src": "4013:64:14" + "src": "4013:64:17" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "4003:6:14" + "src": "4003:6:17" } ] } @@ -3078,13 +3033,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3170:9:14", + "src": "3170:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3181:7:14", + "src": "3181:7:17", "type": "" } ], @@ -3092,28 +3047,28 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3193:6:14", + "src": "3193:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "3201:6:14", + "src": "3201:6:17", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "3209:6:14", + "src": "3209:6:17", "type": "" } ], - "src": "3085:1009:14" + "src": "3085:1009:17" }, { "body": { "nodeType": "YulBlock", - "src": "4128:152:14", + "src": "4128:152:17", "statements": [ { "expression": { @@ -3121,14 +3076,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4145:1:14", + "src": "4145:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4148:77:14", + "src": "4148:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -3136,13 +3091,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4138:6:14" + "src": "4138:6:17" }, "nodeType": "YulFunctionCall", - "src": "4138:88:14" + "src": "4138:88:17" }, "nodeType": "YulExpressionStatement", - "src": "4138:88:14" + "src": "4138:88:17" }, { "expression": { @@ -3150,14 +3105,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4242:1:14", + "src": "4242:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4245:4:14", + "src": "4245:4:17", "type": "", "value": "0x22" } @@ -3165,13 +3120,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4235:6:14" + "src": "4235:6:17" }, "nodeType": "YulFunctionCall", - "src": "4235:15:14" + "src": "4235:15:17" }, "nodeType": "YulExpressionStatement", - "src": "4235:15:14" + "src": "4235:15:17" }, { "expression": { @@ -3179,14 +3134,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4266:1:14", + "src": "4266:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4269:4:14", + "src": "4269:4:17", "type": "", "value": "0x24" } @@ -3194,39 +3149,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4259:6:14" + "src": "4259:6:17" }, "nodeType": "YulFunctionCall", - "src": "4259:15:14" + "src": "4259:15:17" }, "nodeType": "YulExpressionStatement", - "src": "4259:15:14" + "src": "4259:15:17" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "4100:180:14" + "src": "4100:180:17" }, { "body": { "nodeType": "YulBlock", - "src": "4337:269:14", + "src": "4337:269:17", "statements": [ { "nodeType": "YulAssignment", - "src": "4347:22:14", + "src": "4347:22:17", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4361:4:14" + "src": "4361:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4367:1:14", + "src": "4367:1:17", "type": "", "value": "2" } @@ -3234,33 +3189,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4357:3:14" + "src": "4357:3:17" }, "nodeType": "YulFunctionCall", - "src": "4357:12:14" + "src": "4357:12:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4347:6:14" + "src": "4347:6:17" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "4378:38:14", + "src": "4378:38:17", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4408:4:14" + "src": "4408:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4414:1:14", + "src": "4414:1:17", "type": "", "value": "1" } @@ -3268,16 +3223,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4404:3:14" + "src": "4404:3:17" }, "nodeType": "YulFunctionCall", - "src": "4404:12:14" + "src": "4404:12:17" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "4382:18:14", + "src": "4382:18:17", "type": "" } ] @@ -3285,22 +3240,22 @@ { "body": { "nodeType": "YulBlock", - "src": "4455:51:14", + "src": "4455:51:17", "statements": [ { "nodeType": "YulAssignment", - "src": "4469:27:14", + "src": "4469:27:17", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4483:6:14" + "src": "4483:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4491:4:14", + "src": "4491:4:17", "type": "", "value": "0x7f" } @@ -3308,16 +3263,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4479:3:14" + "src": "4479:3:17" }, "nodeType": "YulFunctionCall", - "src": "4479:17:14" + "src": "4479:17:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4469:6:14" + "src": "4469:6:17" } ] } @@ -3328,24 +3283,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4435:18:14" + "src": "4435:18:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4428:6:14" + "src": "4428:6:17" }, "nodeType": "YulFunctionCall", - "src": "4428:26:14" + "src": "4428:26:17" }, "nodeType": "YulIf", - "src": "4425:81:14" + "src": "4425:81:17" }, { "body": { "nodeType": "YulBlock", - "src": "4558:42:14", + "src": "4558:42:17", "statements": [ { "expression": { @@ -3353,13 +3308,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "4572:16:14" + "src": "4572:16:17" }, "nodeType": "YulFunctionCall", - "src": "4572:18:14" + "src": "4572:18:17" }, "nodeType": "YulExpressionStatement", - "src": "4572:18:14" + "src": "4572:18:17" } ] }, @@ -3368,19 +3323,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4522:18:14" + "src": "4522:18:17" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4545:6:14" + "src": "4545:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4553:2:14", + "src": "4553:2:17", "type": "", "value": "32" } @@ -3388,22 +3343,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4542:2:14" + "src": "4542:2:17" }, "nodeType": "YulFunctionCall", - "src": "4542:14:14" + "src": "4542:14:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4519:2:14" + "src": "4519:2:17" }, "nodeType": "YulFunctionCall", - "src": "4519:38:14" + "src": "4519:38:17" }, "nodeType": "YulIf", - "src": "4516:84:14" + "src": "4516:84:17" } ] }, @@ -3413,7 +3368,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "4321:4:14", + "src": "4321:4:17", "type": "" } ], @@ -3421,16 +3376,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "4330:6:14", + "src": "4330:6:17", "type": "" } ], - "src": "4286:320:14" + "src": "4286:320:17" } ] }, "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n", - "id": 14, + "id": 17, "language": "Yul", "name": "#utility.yul" } @@ -3439,22 +3394,22 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:52070:14", + "src": "0:49923:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:14", + "src": "47:35:17", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:14", + "src": "57:19:17", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:14", + "src": "73:2:17", "type": "", "value": "64" } @@ -3462,16 +3417,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:14" + "src": "67:5:17" }, "nodeType": "YulFunctionCall", - "src": "67:9:14" + "src": "67:9:17" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:14" + "src": "57:6:17" } ] } @@ -3483,16 +3438,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:14", + "src": "40:6:17", "type": "" } ], - "src": "7:75:14" + "src": "7:75:17" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:14", + "src": "177:28:17", "statements": [ { "expression": { @@ -3500,14 +3455,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:14", + "src": "194:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:14", + "src": "197:1:17", "type": "", "value": "0" } @@ -3515,24 +3470,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:14" + "src": "187:6:17" }, "nodeType": "YulFunctionCall", - "src": "187:12:14" + "src": "187:12:17" }, "nodeType": "YulExpressionStatement", - "src": "187:12:14" + "src": "187:12:17" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:14" + "src": "88:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:14", + "src": "300:28:17", "statements": [ { "expression": { @@ -3540,14 +3495,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:14", + "src": "317:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:14", + "src": "320:1:17", "type": "", "value": "0" } @@ -3555,39 +3510,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:14" + "src": "310:6:17" }, "nodeType": "YulFunctionCall", - "src": "310:12:14" + "src": "310:12:17" }, "nodeType": "YulExpressionStatement", - "src": "310:12:14" + "src": "310:12:17" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:14" + "src": "211:117:17" }, { "body": { "nodeType": "YulBlock", - "src": "378:105:14", + "src": "378:105:17", "statements": [ { "nodeType": "YulAssignment", - "src": "388:89:14", + "src": "388:89:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "403:5:14" + "src": "403:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "410:66:14", + "src": "410:66:17", "type": "", "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" } @@ -3595,16 +3550,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "399:3:14" + "src": "399:3:17" }, "nodeType": "YulFunctionCall", - "src": "399:78:14" + "src": "399:78:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "388:7:14" + "src": "388:7:17" } ] } @@ -3616,7 +3571,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "360:5:14", + "src": "360:5:17", "type": "" } ], @@ -3624,21 +3579,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "370:7:14", + "src": "370:7:17", "type": "" } ], - "src": "334:149:14" + "src": "334:149:17" }, { "body": { "nodeType": "YulBlock", - "src": "531:78:14", + "src": "531:78:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "587:16:14", + "src": "587:16:17", "statements": [ { "expression": { @@ -3646,14 +3601,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "596:1:14", + "src": "596:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "599:1:14", + "src": "599:1:17", "type": "", "value": "0" } @@ -3661,13 +3616,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "589:6:14" + "src": "589:6:17" }, "nodeType": "YulFunctionCall", - "src": "589:12:14" + "src": "589:12:17" }, "nodeType": "YulExpressionStatement", - "src": "589:12:14" + "src": "589:12:17" } ] }, @@ -3678,44 +3633,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "554:5:14" + "src": "554:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "578:5:14" + "src": "578:5:17" } ], "functionName": { "name": "cleanup_t_bytes4", "nodeType": "YulIdentifier", - "src": "561:16:14" + "src": "561:16:17" }, "nodeType": "YulFunctionCall", - "src": "561:23:14" + "src": "561:23:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "551:2:14" + "src": "551:2:17" }, "nodeType": "YulFunctionCall", - "src": "551:34:14" + "src": "551:34:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "544:6:14" + "src": "544:6:17" }, "nodeType": "YulFunctionCall", - "src": "544:42:14" + "src": "544:42:17" }, "nodeType": "YulIf", - "src": "541:62:14" + "src": "541:62:17" } ] }, @@ -3725,41 +3680,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "524:5:14", + "src": "524:5:17", "type": "" } ], - "src": "489:120:14" + "src": "489:120:17" }, { "body": { "nodeType": "YulBlock", - "src": "666:86:14", + "src": "666:86:17", "statements": [ { "nodeType": "YulAssignment", - "src": "676:29:14", + "src": "676:29:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "698:6:14" + "src": "698:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "685:12:14" + "src": "685:12:17" }, "nodeType": "YulFunctionCall", - "src": "685:20:14" + "src": "685:20:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "676:5:14" + "src": "676:5:17" } ] }, @@ -3769,19 +3724,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "740:5:14" + "src": "740:5:17" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "714:25:14" + "src": "714:25:17" }, "nodeType": "YulFunctionCall", - "src": "714:32:14" + "src": "714:32:17" }, "nodeType": "YulExpressionStatement", - "src": "714:32:14" + "src": "714:32:17" } ] }, @@ -3791,13 +3746,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "644:6:14", + "src": "644:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "652:3:14", + "src": "652:3:17", "type": "" } ], @@ -3805,21 +3760,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "660:5:14", + "src": "660:5:17", "type": "" } ], - "src": "615:137:14" + "src": "615:137:17" }, { "body": { "nodeType": "YulBlock", - "src": "823:262:14", + "src": "823:262:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "869:83:14", + "src": "869:83:17", "statements": [ { "expression": { @@ -3827,13 +3782,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "871:77:14" + "src": "871:77:17" }, "nodeType": "YulFunctionCall", - "src": "871:79:14" + "src": "871:79:17" }, "nodeType": "YulExpressionStatement", - "src": "871:79:14" + "src": "871:79:17" } ] }, @@ -3844,26 +3799,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "844:7:14" + "src": "844:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "853:9:14" + "src": "853:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "840:3:14" + "src": "840:3:17" }, "nodeType": "YulFunctionCall", - "src": "840:23:14" + "src": "840:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "865:2:14", + "src": "865:2:17", "type": "", "value": "32" } @@ -3871,25 +3826,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "836:3:14" + "src": "836:3:17" }, "nodeType": "YulFunctionCall", - "src": "836:32:14" + "src": "836:32:17" }, "nodeType": "YulIf", - "src": "833:119:14" + "src": "833:119:17" }, { "nodeType": "YulBlock", - "src": "962:116:14", + "src": "962:116:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "977:15:14", + "src": "977:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "991:1:14", + "src": "991:1:17", "type": "", "value": "0" }, @@ -3897,14 +3852,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "981:6:14", + "src": "981:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1006:62:14", + "src": "1006:62:17", "value": { "arguments": [ { @@ -3912,41 +3867,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1040:9:14" + "src": "1040:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1051:6:14" + "src": "1051:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1036:3:14" + "src": "1036:3:17" }, "nodeType": "YulFunctionCall", - "src": "1036:22:14" + "src": "1036:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1060:7:14" + "src": "1060:7:17" } ], "functionName": { "name": "abi_decode_t_bytes4", "nodeType": "YulIdentifier", - "src": "1016:19:14" + "src": "1016:19:17" }, "nodeType": "YulFunctionCall", - "src": "1016:52:14" + "src": "1016:52:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1006:6:14" + "src": "1006:6:17" } ] } @@ -3960,13 +3915,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "793:9:14", + "src": "793:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "804:7:14", + "src": "804:7:17", "type": "" } ], @@ -3974,20 +3929,20 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "816:6:14", + "src": "816:6:17", "type": "" } ], - "src": "758:327:14" + "src": "758:327:17" }, { "body": { "nodeType": "YulBlock", - "src": "1133:48:14", + "src": "1133:48:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1143:32:14", + "src": "1143:32:17", "value": { "arguments": [ { @@ -3995,31 +3950,31 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "1168:5:14" + "src": "1168:5:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1161:6:14" + "src": "1161:6:17" }, "nodeType": "YulFunctionCall", - "src": "1161:13:14" + "src": "1161:13:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1154:6:14" + "src": "1154:6:17" }, "nodeType": "YulFunctionCall", - "src": "1154:21:14" + "src": "1154:21:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1143:7:14" + "src": "1143:7:17" } ] } @@ -4031,7 +3986,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1115:5:14", + "src": "1115:5:17", "type": "" } ], @@ -4039,16 +3994,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1125:7:14", + "src": "1125:7:17", "type": "" } ], - "src": "1091:90:14" + "src": "1091:90:17" }, { "body": { "nodeType": "YulBlock", - "src": "1246:50:14", + "src": "1246:50:17", "statements": [ { "expression": { @@ -4056,35 +4011,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1263:3:14" + "src": "1263:3:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1283:5:14" + "src": "1283:5:17" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "1268:14:14" + "src": "1268:14:17" }, "nodeType": "YulFunctionCall", - "src": "1268:21:14" + "src": "1268:21:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1256:6:14" + "src": "1256:6:17" }, "nodeType": "YulFunctionCall", - "src": "1256:34:14" + "src": "1256:34:17" }, "nodeType": "YulExpressionStatement", - "src": "1256:34:14" + "src": "1256:34:17" } ] }, @@ -4094,37 +4049,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1234:5:14", + "src": "1234:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "1241:3:14", + "src": "1241:3:17", "type": "" } ], - "src": "1187:109:14" + "src": "1187:109:17" }, { "body": { "nodeType": "YulBlock", - "src": "1394:118:14", + "src": "1394:118:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1404:26:14", + "src": "1404:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1416:9:14" + "src": "1416:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1427:2:14", + "src": "1427:2:17", "type": "", "value": "32" } @@ -4132,16 +4087,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1412:3:14" + "src": "1412:3:17" }, "nodeType": "YulFunctionCall", - "src": "1412:18:14" + "src": "1412:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1404:4:14" + "src": "1404:4:17" } ] }, @@ -4151,19 +4106,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1478:6:14" + "src": "1478:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1491:9:14" + "src": "1491:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1502:1:14", + "src": "1502:1:17", "type": "", "value": "0" } @@ -4171,22 +4126,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1487:3:14" + "src": "1487:3:17" }, "nodeType": "YulFunctionCall", - "src": "1487:17:14" + "src": "1487:17:17" } ], "functionName": { "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "1440:37:14" + "src": "1440:37:17" }, "nodeType": "YulFunctionCall", - "src": "1440:65:14" + "src": "1440:65:17" }, "nodeType": "YulExpressionStatement", - "src": "1440:65:14" + "src": "1440:65:17" } ] }, @@ -4196,13 +4151,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1366:9:14", + "src": "1366:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "1378:6:14", + "src": "1378:6:17", "type": "" } ], @@ -4210,41 +4165,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "1389:4:14", + "src": "1389:4:17", "type": "" } ], - "src": "1302:210:14" + "src": "1302:210:17" }, { "body": { "nodeType": "YulBlock", - "src": "1577:40:14", + "src": "1577:40:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1588:22:14", + "src": "1588:22:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1604:5:14" + "src": "1604:5:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1598:5:14" + "src": "1598:5:17" }, "nodeType": "YulFunctionCall", - "src": "1598:12:14" + "src": "1598:12:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1588:6:14" + "src": "1588:6:17" } ] } @@ -4256,7 +4211,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1560:5:14", + "src": "1560:5:17", "type": "" } ], @@ -4264,16 +4219,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1570:6:14", + "src": "1570:6:17", "type": "" } ], - "src": "1518:99:14" + "src": "1518:99:17" }, { "body": { "nodeType": "YulBlock", - "src": "1719:73:14", + "src": "1719:73:17", "statements": [ { "expression": { @@ -4281,39 +4236,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1736:3:14" + "src": "1736:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1741:6:14" + "src": "1741:6:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1729:6:14" + "src": "1729:6:17" }, "nodeType": "YulFunctionCall", - "src": "1729:19:14" + "src": "1729:19:17" }, "nodeType": "YulExpressionStatement", - "src": "1729:19:14" + "src": "1729:19:17" }, { "nodeType": "YulAssignment", - "src": "1757:29:14", + "src": "1757:29:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1776:3:14" + "src": "1776:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1781:4:14", + "src": "1781:4:17", "type": "", "value": "0x20" } @@ -4321,16 +4276,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1772:3:14" + "src": "1772:3:17" }, "nodeType": "YulFunctionCall", - "src": "1772:14:14" + "src": "1772:14:17" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "1757:11:14" + "src": "1757:11:17" } ] } @@ -4342,13 +4297,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "1691:3:14", + "src": "1691:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1696:6:14", + "src": "1696:6:17", "type": "" } ], @@ -4356,24 +4311,24 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "1707:11:14", + "src": "1707:11:17", "type": "" } ], - "src": "1623:169:14" + "src": "1623:169:17" }, { "body": { "nodeType": "YulBlock", - "src": "1847:258:14", + "src": "1847:258:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1857:10:14", + "src": "1857:10:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1866:1:14", + "src": "1866:1:17", "type": "", "value": "0" }, @@ -4381,7 +4336,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1861:1:14", + "src": "1861:1:17", "type": "" } ] @@ -4389,7 +4344,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1926:63:14", + "src": "1926:63:17", "statements": [ { "expression": { @@ -4399,21 +4354,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1951:3:14" + "src": "1951:3:17" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1956:1:14" + "src": "1956:1:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1947:3:14" + "src": "1947:3:17" }, "nodeType": "YulFunctionCall", - "src": "1947:11:14" + "src": "1947:11:17" }, { "arguments": [ @@ -4422,42 +4377,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1970:3:14" + "src": "1970:3:17" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1975:1:14" + "src": "1975:1:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1966:3:14" + "src": "1966:3:17" }, "nodeType": "YulFunctionCall", - "src": "1966:11:14" + "src": "1966:11:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1960:5:14" + "src": "1960:5:17" }, "nodeType": "YulFunctionCall", - "src": "1960:18:14" + "src": "1960:18:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1940:6:14" + "src": "1940:6:17" }, "nodeType": "YulFunctionCall", - "src": "1940:39:14" + "src": "1940:39:17" }, "nodeType": "YulExpressionStatement", - "src": "1940:39:14" + "src": "1940:39:17" } ] }, @@ -4466,41 +4421,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1887:1:14" + "src": "1887:1:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:14" + "src": "1890:6:17" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1884:2:14" + "src": "1884:2:17" }, "nodeType": "YulFunctionCall", - "src": "1884:13:14" + "src": "1884:13:17" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1898:19:14", + "src": "1898:19:17", "statements": [ { "nodeType": "YulAssignment", - "src": "1900:15:14", + "src": "1900:15:17", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1909:1:14" + "src": "1909:1:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1912:2:14", + "src": "1912:2:17", "type": "", "value": "32" } @@ -4508,16 +4463,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1905:3:14" + "src": "1905:3:17" }, "nodeType": "YulFunctionCall", - "src": "1905:10:14" + "src": "1905:10:17" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1900:1:14" + "src": "1900:1:17" } ] } @@ -4525,15 +4480,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1880:3:14", + "src": "1880:3:17", "statements": [] }, - "src": "1876:113:14" + "src": "1876:113:17" }, { "body": { "nodeType": "YulBlock", - "src": "2023:76:14", + "src": "2023:76:17", "statements": [ { "expression": { @@ -4543,26 +4498,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "2073:3:14" + "src": "2073:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2078:6:14" + "src": "2078:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2069:3:14" + "src": "2069:3:17" }, "nodeType": "YulFunctionCall", - "src": "2069:16:14" + "src": "2069:16:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2087:1:14", + "src": "2087:1:17", "type": "", "value": "0" } @@ -4570,13 +4525,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2062:6:14" + "src": "2062:6:17" }, "nodeType": "YulFunctionCall", - "src": "2062:27:14" + "src": "2062:27:17" }, "nodeType": "YulExpressionStatement", - "src": "2062:27:14" + "src": "2062:27:17" } ] }, @@ -4585,24 +4540,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "2004:1:14" + "src": "2004:1:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2007:6:14" + "src": "2007:6:17" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2001:2:14" + "src": "2001:2:17" }, "nodeType": "YulFunctionCall", - "src": "2001:13:14" + "src": "2001:13:17" }, "nodeType": "YulIf", - "src": "1998:101:14" + "src": "1998:101:17" } ] }, @@ -4612,32 +4567,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1829:3:14", + "src": "1829:3:17", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1834:3:14", + "src": "1834:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1839:6:14", + "src": "1839:6:17", "type": "" } ], - "src": "1798:307:14" + "src": "1798:307:17" }, { "body": { "nodeType": "YulBlock", - "src": "2159:54:14", + "src": "2159:54:17", "statements": [ { "nodeType": "YulAssignment", - "src": "2169:38:14", + "src": "2169:38:17", "value": { "arguments": [ { @@ -4645,12 +4600,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2187:5:14" + "src": "2187:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2194:2:14", + "src": "2194:2:17", "type": "", "value": "31" } @@ -4658,17 +4613,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2183:3:14" + "src": "2183:3:17" }, "nodeType": "YulFunctionCall", - "src": "2183:14:14" + "src": "2183:14:17" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "2203:2:14", + "src": "2203:2:17", "type": "", "value": "31" } @@ -4676,25 +4631,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "2199:3:14" + "src": "2199:3:17" }, "nodeType": "YulFunctionCall", - "src": "2199:7:14" + "src": "2199:7:17" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2179:3:14" + "src": "2179:3:17" }, "nodeType": "YulFunctionCall", - "src": "2179:28:14" + "src": "2179:28:17" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "2169:6:14" + "src": "2169:6:17" } ] } @@ -4706,7 +4661,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2142:5:14", + "src": "2142:5:17", "type": "" } ], @@ -4714,74 +4669,74 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "2152:6:14", + "src": "2152:6:17", "type": "" } ], - "src": "2111:102:14" + "src": "2111:102:17" }, { "body": { "nodeType": "YulBlock", - "src": "2311:272:14", + "src": "2311:272:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2321:53:14", + "src": "2321:53:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2368:5:14" + "src": "2368:5:17" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2335:32:14" + "src": "2335:32:17" }, "nodeType": "YulFunctionCall", - "src": "2335:39:14" + "src": "2335:39:17" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2325:6:14", + "src": "2325:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2383:78:14", + "src": "2383:78:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2449:3:14" + "src": "2449:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2454:6:14" + "src": "2454:6:17" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2390:58:14" + "src": "2390:58:17" }, "nodeType": "YulFunctionCall", - "src": "2390:71:14" + "src": "2390:71:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2383:3:14" + "src": "2383:3:17" } ] }, @@ -4793,12 +4748,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2496:5:14" + "src": "2496:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2503:4:14", + "src": "2503:4:17", "type": "", "value": "0x20" } @@ -4806,73 +4761,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2492:3:14" + "src": "2492:3:17" }, "nodeType": "YulFunctionCall", - "src": "2492:16:14" + "src": "2492:16:17" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "2510:3:14" + "src": "2510:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2515:6:14" + "src": "2515:6:17" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2470:21:14" + "src": "2470:21:17" }, "nodeType": "YulFunctionCall", - "src": "2470:52:14" + "src": "2470:52:17" }, "nodeType": "YulExpressionStatement", - "src": "2470:52:14" + "src": "2470:52:17" }, { "nodeType": "YulAssignment", - "src": "2531:46:14", + "src": "2531:46:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2542:3:14" + "src": "2542:3:17" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "2569:6:14" + "src": "2569:6:17" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "2547:21:14" + "src": "2547:21:17" }, "nodeType": "YulFunctionCall", - "src": "2547:29:14" + "src": "2547:29:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2538:3:14" + "src": "2538:3:17" }, "nodeType": "YulFunctionCall", - "src": "2538:39:14" + "src": "2538:39:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "2531:3:14" + "src": "2531:3:17" } ] } @@ -4884,13 +4839,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2292:5:14", + "src": "2292:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2299:3:14", + "src": "2299:3:17", "type": "" } ], @@ -4898,31 +4853,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "2307:3:14", + "src": "2307:3:17", "type": "" } ], - "src": "2219:364:14" + "src": "2219:364:17" }, { "body": { "nodeType": "YulBlock", - "src": "2707:195:14", + "src": "2707:195:17", "statements": [ { "nodeType": "YulAssignment", - "src": "2717:26:14", + "src": "2717:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2729:9:14" + "src": "2729:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2740:2:14", + "src": "2740:2:17", "type": "", "value": "32" } @@ -4930,16 +4885,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2725:3:14" + "src": "2725:3:17" }, "nodeType": "YulFunctionCall", - "src": "2725:18:14" + "src": "2725:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2717:4:14" + "src": "2717:4:17" } ] }, @@ -4951,12 +4906,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2764:9:14" + "src": "2764:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2775:1:14", + "src": "2775:1:17", "type": "", "value": "0" } @@ -4964,73 +4919,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2760:3:14" + "src": "2760:3:17" }, "nodeType": "YulFunctionCall", - "src": "2760:17:14" + "src": "2760:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2783:4:14" + "src": "2783:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2789:9:14" + "src": "2789:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2779:3:14" + "src": "2779:3:17" }, "nodeType": "YulFunctionCall", - "src": "2779:20:14" + "src": "2779:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2753:6:14" + "src": "2753:6:17" }, "nodeType": "YulFunctionCall", - "src": "2753:47:14" + "src": "2753:47:17" }, "nodeType": "YulExpressionStatement", - "src": "2753:47:14" + "src": "2753:47:17" }, { "nodeType": "YulAssignment", - "src": "2809:86:14", + "src": "2809:86:17", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2881:6:14" + "src": "2881:6:17" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "2890:4:14" + "src": "2890:4:17" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2817:63:14" + "src": "2817:63:17" }, "nodeType": "YulFunctionCall", - "src": "2817:78:14" + "src": "2817:78:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2809:4:14" + "src": "2809:4:17" } ] } @@ -5042,13 +4997,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2679:9:14", + "src": "2679:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "2691:6:14", + "src": "2691:6:17", "type": "" } ], @@ -5056,30 +5011,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2702:4:14", + "src": "2702:4:17", "type": "" } ], - "src": "2589:313:14" + "src": "2589:313:17" }, { "body": { "nodeType": "YulBlock", - "src": "2953:32:14", + "src": "2953:32:17", "statements": [ { "nodeType": "YulAssignment", - "src": "2963:16:14", + "src": "2963:16:17", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2974:5:14" + "src": "2974:5:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2963:7:14" + "src": "2963:7:17" } ] } @@ -5091,7 +5046,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2935:5:14", + "src": "2935:5:17", "type": "" } ], @@ -5099,21 +5054,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2945:7:14", + "src": "2945:7:17", "type": "" } ], - "src": "2908:77:14" + "src": "2908:77:17" }, { "body": { "nodeType": "YulBlock", - "src": "3034:79:14", + "src": "3034:79:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3091:16:14", + "src": "3091:16:17", "statements": [ { "expression": { @@ -5121,14 +5076,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "3100:1:14", + "src": "3100:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3103:1:14", + "src": "3103:1:17", "type": "", "value": "0" } @@ -5136,13 +5091,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "3093:6:14" + "src": "3093:6:17" }, "nodeType": "YulFunctionCall", - "src": "3093:12:14" + "src": "3093:12:17" }, "nodeType": "YulExpressionStatement", - "src": "3093:12:14" + "src": "3093:12:17" } ] }, @@ -5153,44 +5108,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3057:5:14" + "src": "3057:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3082:5:14" + "src": "3082:5:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3064:17:14" + "src": "3064:17:17" }, "nodeType": "YulFunctionCall", - "src": "3064:24:14" + "src": "3064:24:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "3054:2:14" + "src": "3054:2:17" }, "nodeType": "YulFunctionCall", - "src": "3054:35:14" + "src": "3054:35:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3047:6:14" + "src": "3047:6:17" }, "nodeType": "YulFunctionCall", - "src": "3047:43:14" + "src": "3047:43:17" }, "nodeType": "YulIf", - "src": "3044:63:14" + "src": "3044:63:17" } ] }, @@ -5200,41 +5155,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3027:5:14", + "src": "3027:5:17", "type": "" } ], - "src": "2991:122:14" + "src": "2991:122:17" }, { "body": { "nodeType": "YulBlock", - "src": "3171:87:14", + "src": "3171:87:17", "statements": [ { "nodeType": "YulAssignment", - "src": "3181:29:14", + "src": "3181:29:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3203:6:14" + "src": "3203:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "3190:12:14" + "src": "3190:12:17" }, "nodeType": "YulFunctionCall", - "src": "3190:20:14" + "src": "3190:20:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3181:5:14" + "src": "3181:5:17" } ] }, @@ -5244,19 +5199,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3246:5:14" + "src": "3246:5:17" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "3219:26:14" + "src": "3219:26:17" }, "nodeType": "YulFunctionCall", - "src": "3219:33:14" + "src": "3219:33:17" }, "nodeType": "YulExpressionStatement", - "src": "3219:33:14" + "src": "3219:33:17" } ] }, @@ -5266,13 +5221,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3149:6:14", + "src": "3149:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "3157:3:14", + "src": "3157:3:17", "type": "" } ], @@ -5280,21 +5235,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3165:5:14", + "src": "3165:5:17", "type": "" } ], - "src": "3119:139:14" + "src": "3119:139:17" }, { "body": { "nodeType": "YulBlock", - "src": "3330:263:14", + "src": "3330:263:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3376:83:14", + "src": "3376:83:17", "statements": [ { "expression": { @@ -5302,13 +5257,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3378:77:14" + "src": "3378:77:17" }, "nodeType": "YulFunctionCall", - "src": "3378:79:14" + "src": "3378:79:17" }, "nodeType": "YulExpressionStatement", - "src": "3378:79:14" + "src": "3378:79:17" } ] }, @@ -5319,26 +5274,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3351:7:14" + "src": "3351:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3360:9:14" + "src": "3360:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3347:3:14" + "src": "3347:3:17" }, "nodeType": "YulFunctionCall", - "src": "3347:23:14" + "src": "3347:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3372:2:14", + "src": "3372:2:17", "type": "", "value": "32" } @@ -5346,25 +5301,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3343:3:14" + "src": "3343:3:17" }, "nodeType": "YulFunctionCall", - "src": "3343:32:14" + "src": "3343:32:17" }, "nodeType": "YulIf", - "src": "3340:119:14" + "src": "3340:119:17" }, { "nodeType": "YulBlock", - "src": "3469:117:14", + "src": "3469:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3484:15:14", + "src": "3484:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3498:1:14", + "src": "3498:1:17", "type": "", "value": "0" }, @@ -5372,14 +5327,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3488:6:14", + "src": "3488:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "3513:63:14", + "src": "3513:63:17", "value": { "arguments": [ { @@ -5387,41 +5342,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3548:9:14" + "src": "3548:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3559:6:14" + "src": "3559:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3544:3:14" + "src": "3544:3:17" }, "nodeType": "YulFunctionCall", - "src": "3544:22:14" + "src": "3544:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3568:7:14" + "src": "3568:7:17" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "3523:20:14" + "src": "3523:20:17" }, "nodeType": "YulFunctionCall", - "src": "3523:53:14" + "src": "3523:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3513:6:14" + "src": "3513:6:17" } ] } @@ -5435,13 +5390,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3300:9:14", + "src": "3300:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3311:7:14", + "src": "3311:7:17", "type": "" } ], @@ -5449,31 +5404,31 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3323:6:14", + "src": "3323:6:17", "type": "" } ], - "src": "3264:329:14" + "src": "3264:329:17" }, { "body": { "nodeType": "YulBlock", - "src": "3644:81:14", + "src": "3644:81:17", "statements": [ { "nodeType": "YulAssignment", - "src": "3654:65:14", + "src": "3654:65:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3669:5:14" + "src": "3669:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3676:42:14", + "src": "3676:42:17", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -5481,16 +5436,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3665:3:14" + "src": "3665:3:17" }, "nodeType": "YulFunctionCall", - "src": "3665:54:14" + "src": "3665:54:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3654:7:14" + "src": "3654:7:17" } ] } @@ -5502,7 +5457,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3626:5:14", + "src": "3626:5:17", "type": "" } ], @@ -5510,41 +5465,41 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3636:7:14", + "src": "3636:7:17", "type": "" } ], - "src": "3599:126:14" + "src": "3599:126:17" }, { "body": { "nodeType": "YulBlock", - "src": "3776:51:14", + "src": "3776:51:17", "statements": [ { "nodeType": "YulAssignment", - "src": "3786:35:14", + "src": "3786:35:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3815:5:14" + "src": "3815:5:17" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "3797:17:14" + "src": "3797:17:17" }, "nodeType": "YulFunctionCall", - "src": "3797:24:14" + "src": "3797:24:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3786:7:14" + "src": "3786:7:17" } ] } @@ -5556,7 +5511,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3758:5:14", + "src": "3758:5:17", "type": "" } ], @@ -5564,16 +5519,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3768:7:14", + "src": "3768:7:17", "type": "" } ], - "src": "3731:96:14" + "src": "3731:96:17" }, { "body": { "nodeType": "YulBlock", - "src": "3898:53:14", + "src": "3898:53:17", "statements": [ { "expression": { @@ -5581,35 +5536,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3915:3:14" + "src": "3915:3:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3938:5:14" + "src": "3938:5:17" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "3920:17:14" + "src": "3920:17:17" }, "nodeType": "YulFunctionCall", - "src": "3920:24:14" + "src": "3920:24:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3908:6:14" + "src": "3908:6:17" }, "nodeType": "YulFunctionCall", - "src": "3908:37:14" + "src": "3908:37:17" }, "nodeType": "YulExpressionStatement", - "src": "3908:37:14" + "src": "3908:37:17" } ] }, @@ -5619,37 +5574,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3886:5:14", + "src": "3886:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "3893:3:14", + "src": "3893:3:17", "type": "" } ], - "src": "3833:118:14" + "src": "3833:118:17" }, { "body": { "nodeType": "YulBlock", - "src": "4055:124:14", + "src": "4055:124:17", "statements": [ { "nodeType": "YulAssignment", - "src": "4065:26:14", + "src": "4065:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4077:9:14" + "src": "4077:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4088:2:14", + "src": "4088:2:17", "type": "", "value": "32" } @@ -5657,16 +5612,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4073:3:14" + "src": "4073:3:17" }, "nodeType": "YulFunctionCall", - "src": "4073:18:14" + "src": "4073:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "4065:4:14" + "src": "4065:4:17" } ] }, @@ -5676,19 +5631,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4145:6:14" + "src": "4145:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4158:9:14" + "src": "4158:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4169:1:14", + "src": "4169:1:17", "type": "", "value": "0" } @@ -5696,22 +5651,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4154:3:14" + "src": "4154:3:17" }, "nodeType": "YulFunctionCall", - "src": "4154:17:14" + "src": "4154:17:17" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "4101:43:14" + "src": "4101:43:17" }, "nodeType": "YulFunctionCall", - "src": "4101:71:14" + "src": "4101:71:17" }, "nodeType": "YulExpressionStatement", - "src": "4101:71:14" + "src": "4101:71:17" } ] }, @@ -5721,13 +5676,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4027:9:14", + "src": "4027:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "4039:6:14", + "src": "4039:6:17", "type": "" } ], @@ -5735,21 +5690,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "4050:4:14", + "src": "4050:4:17", "type": "" } ], - "src": "3957:222:14" + "src": "3957:222:17" }, { "body": { "nodeType": "YulBlock", - "src": "4228:79:14", + "src": "4228:79:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4285:16:14", + "src": "4285:16:17", "statements": [ { "expression": { @@ -5757,14 +5712,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4294:1:14", + "src": "4294:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4297:1:14", + "src": "4297:1:17", "type": "", "value": "0" } @@ -5772,13 +5727,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4287:6:14" + "src": "4287:6:17" }, "nodeType": "YulFunctionCall", - "src": "4287:12:14" + "src": "4287:12:17" }, "nodeType": "YulExpressionStatement", - "src": "4287:12:14" + "src": "4287:12:17" } ] }, @@ -5789,44 +5744,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4251:5:14" + "src": "4251:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4276:5:14" + "src": "4276:5:17" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "4258:17:14" + "src": "4258:17:17" }, "nodeType": "YulFunctionCall", - "src": "4258:24:14" + "src": "4258:24:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4248:2:14" + "src": "4248:2:17" }, "nodeType": "YulFunctionCall", - "src": "4248:35:14" + "src": "4248:35:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4241:6:14" + "src": "4241:6:17" }, "nodeType": "YulFunctionCall", - "src": "4241:43:14" + "src": "4241:43:17" }, "nodeType": "YulIf", - "src": "4238:63:14" + "src": "4238:63:17" } ] }, @@ -5836,41 +5791,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4221:5:14", + "src": "4221:5:17", "type": "" } ], - "src": "4185:122:14" + "src": "4185:122:17" }, { "body": { "nodeType": "YulBlock", - "src": "4365:87:14", + "src": "4365:87:17", "statements": [ { "nodeType": "YulAssignment", - "src": "4375:29:14", + "src": "4375:29:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "4397:6:14" + "src": "4397:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "4384:12:14" + "src": "4384:12:17" }, "nodeType": "YulFunctionCall", - "src": "4384:20:14" + "src": "4384:20:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4375:5:14" + "src": "4375:5:17" } ] }, @@ -5880,19 +5835,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4440:5:14" + "src": "4440:5:17" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "4413:26:14" + "src": "4413:26:17" }, "nodeType": "YulFunctionCall", - "src": "4413:33:14" + "src": "4413:33:17" }, "nodeType": "YulExpressionStatement", - "src": "4413:33:14" + "src": "4413:33:17" } ] }, @@ -5902,13 +5857,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4343:6:14", + "src": "4343:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "4351:3:14", + "src": "4351:3:17", "type": "" } ], @@ -5916,21 +5871,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4359:5:14", + "src": "4359:5:17", "type": "" } ], - "src": "4313:139:14" + "src": "4313:139:17" }, { "body": { "nodeType": "YulBlock", - "src": "4541:391:14", + "src": "4541:391:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4587:83:14", + "src": "4587:83:17", "statements": [ { "expression": { @@ -5938,13 +5893,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4589:77:14" + "src": "4589:77:17" }, "nodeType": "YulFunctionCall", - "src": "4589:79:14" + "src": "4589:79:17" }, "nodeType": "YulExpressionStatement", - "src": "4589:79:14" + "src": "4589:79:17" } ] }, @@ -5955,26 +5910,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4562:7:14" + "src": "4562:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4571:9:14" + "src": "4571:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4558:3:14" + "src": "4558:3:17" }, "nodeType": "YulFunctionCall", - "src": "4558:23:14" + "src": "4558:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4583:2:14", + "src": "4583:2:17", "type": "", "value": "64" } @@ -5982,25 +5937,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4554:3:14" + "src": "4554:3:17" }, "nodeType": "YulFunctionCall", - "src": "4554:32:14" + "src": "4554:32:17" }, "nodeType": "YulIf", - "src": "4551:119:14" + "src": "4551:119:17" }, { "nodeType": "YulBlock", - "src": "4680:117:14", + "src": "4680:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4695:15:14", + "src": "4695:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4709:1:14", + "src": "4709:1:17", "type": "", "value": "0" }, @@ -6008,14 +5963,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4699:6:14", + "src": "4699:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4724:63:14", + "src": "4724:63:17", "value": { "arguments": [ { @@ -6023,41 +5978,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4759:9:14" + "src": "4759:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4770:6:14" + "src": "4770:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4755:3:14" + "src": "4755:3:17" }, "nodeType": "YulFunctionCall", - "src": "4755:22:14" + "src": "4755:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4779:7:14" + "src": "4779:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4734:20:14" + "src": "4734:20:17" }, "nodeType": "YulFunctionCall", - "src": "4734:53:14" + "src": "4734:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4724:6:14" + "src": "4724:6:17" } ] } @@ -6065,15 +6020,15 @@ }, { "nodeType": "YulBlock", - "src": "4807:118:14", + "src": "4807:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4822:16:14", + "src": "4822:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4836:2:14", + "src": "4836:2:17", "type": "", "value": "32" }, @@ -6081,14 +6036,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4826:6:14", + "src": "4826:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4852:63:14", + "src": "4852:63:17", "value": { "arguments": [ { @@ -6096,41 +6051,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4887:9:14" + "src": "4887:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4898:6:14" + "src": "4898:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4883:3:14" + "src": "4883:3:17" }, "nodeType": "YulFunctionCall", - "src": "4883:22:14" + "src": "4883:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4907:7:14" + "src": "4907:7:17" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "4862:20:14" + "src": "4862:20:17" }, "nodeType": "YulFunctionCall", - "src": "4862:53:14" + "src": "4862:53:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "4852:6:14" + "src": "4852:6:17" } ] } @@ -6144,13 +6099,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4503:9:14", + "src": "4503:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4514:7:14", + "src": "4514:7:17", "type": "" } ], @@ -6158,22 +6113,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4526:6:14", + "src": "4526:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "4534:6:14", + "src": "4534:6:17", "type": "" } ], - "src": "4458:474:14" + "src": "4458:474:17" }, { "body": { "nodeType": "YulBlock", - "src": "5003:53:14", + "src": "5003:53:17", "statements": [ { "expression": { @@ -6181,35 +6136,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5020:3:14" + "src": "5020:3:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5043:5:14" + "src": "5043:5:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5025:17:14" + "src": "5025:17:17" }, "nodeType": "YulFunctionCall", - "src": "5025:24:14" + "src": "5025:24:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5013:6:14" + "src": "5013:6:17" }, "nodeType": "YulFunctionCall", - "src": "5013:37:14" + "src": "5013:37:17" }, "nodeType": "YulExpressionStatement", - "src": "5013:37:14" + "src": "5013:37:17" } ] }, @@ -6219,37 +6174,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4991:5:14", + "src": "4991:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "4998:3:14", + "src": "4998:3:17", "type": "" } ], - "src": "4938:118:14" + "src": "4938:118:17" }, { "body": { "nodeType": "YulBlock", - "src": "5160:124:14", + "src": "5160:124:17", "statements": [ { "nodeType": "YulAssignment", - "src": "5170:26:14", + "src": "5170:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5182:9:14" + "src": "5182:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5193:2:14", + "src": "5193:2:17", "type": "", "value": "32" } @@ -6257,16 +6212,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5178:3:14" + "src": "5178:3:17" }, "nodeType": "YulFunctionCall", - "src": "5178:18:14" + "src": "5178:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "5170:4:14" + "src": "5170:4:17" } ] }, @@ -6276,19 +6231,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5250:6:14" + "src": "5250:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5263:9:14" + "src": "5263:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5274:1:14", + "src": "5274:1:17", "type": "", "value": "0" } @@ -6296,22 +6251,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5259:3:14" + "src": "5259:3:17" }, "nodeType": "YulFunctionCall", - "src": "5259:17:14" + "src": "5259:17:17" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "5206:43:14" + "src": "5206:43:17" }, "nodeType": "YulFunctionCall", - "src": "5206:71:14" + "src": "5206:71:17" }, "nodeType": "YulExpressionStatement", - "src": "5206:71:14" + "src": "5206:71:17" } ] }, @@ -6321,13 +6276,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5132:9:14", + "src": "5132:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5144:6:14", + "src": "5144:6:17", "type": "" } ], @@ -6335,21 +6290,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "5155:4:14", + "src": "5155:4:17", "type": "" } ], - "src": "5062:222:14" + "src": "5062:222:17" }, { "body": { "nodeType": "YulBlock", - "src": "5356:263:14", + "src": "5356:263:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5402:83:14", + "src": "5402:83:17", "statements": [ { "expression": { @@ -6357,13 +6312,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5404:77:14" + "src": "5404:77:17" }, "nodeType": "YulFunctionCall", - "src": "5404:79:14" + "src": "5404:79:17" }, "nodeType": "YulExpressionStatement", - "src": "5404:79:14" + "src": "5404:79:17" } ] }, @@ -6374,26 +6329,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5377:7:14" + "src": "5377:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5386:9:14" + "src": "5386:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5373:3:14" + "src": "5373:3:17" }, "nodeType": "YulFunctionCall", - "src": "5373:23:14" + "src": "5373:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5398:2:14", + "src": "5398:2:17", "type": "", "value": "32" } @@ -6401,25 +6356,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5369:3:14" + "src": "5369:3:17" }, "nodeType": "YulFunctionCall", - "src": "5369:32:14" + "src": "5369:32:17" }, "nodeType": "YulIf", - "src": "5366:119:14" + "src": "5366:119:17" }, { "nodeType": "YulBlock", - "src": "5495:117:14", + "src": "5495:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5510:15:14", + "src": "5510:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5524:1:14", + "src": "5524:1:17", "type": "", "value": "0" }, @@ -6427,14 +6382,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5514:6:14", + "src": "5514:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5539:63:14", + "src": "5539:63:17", "value": { "arguments": [ { @@ -6442,41 +6397,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5574:9:14" + "src": "5574:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5585:6:14" + "src": "5585:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5570:3:14" + "src": "5570:3:17" }, "nodeType": "YulFunctionCall", - "src": "5570:22:14" + "src": "5570:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5594:7:14" + "src": "5594:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5549:20:14" + "src": "5549:20:17" }, "nodeType": "YulFunctionCall", - "src": "5549:53:14" + "src": "5549:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5539:6:14" + "src": "5539:6:17" } ] } @@ -6490,13 +6445,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5326:9:14", + "src": "5326:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5337:7:14", + "src": "5337:7:17", "type": "" } ], @@ -6504,21 +6459,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5349:6:14", + "src": "5349:6:17", "type": "" } ], - "src": "5290:329:14" + "src": "5290:329:17" }, { "body": { "nodeType": "YulBlock", - "src": "5725:519:14", + "src": "5725:519:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5771:83:14", + "src": "5771:83:17", "statements": [ { "expression": { @@ -6526,13 +6481,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5773:77:14" + "src": "5773:77:17" }, "nodeType": "YulFunctionCall", - "src": "5773:79:14" + "src": "5773:79:17" }, "nodeType": "YulExpressionStatement", - "src": "5773:79:14" + "src": "5773:79:17" } ] }, @@ -6543,26 +6498,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5746:7:14" + "src": "5746:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5755:9:14" + "src": "5755:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5742:3:14" + "src": "5742:3:17" }, "nodeType": "YulFunctionCall", - "src": "5742:23:14" + "src": "5742:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5767:2:14", + "src": "5767:2:17", "type": "", "value": "96" } @@ -6570,25 +6525,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5738:3:14" + "src": "5738:3:17" }, "nodeType": "YulFunctionCall", - "src": "5738:32:14" + "src": "5738:32:17" }, "nodeType": "YulIf", - "src": "5735:119:14" + "src": "5735:119:17" }, { "nodeType": "YulBlock", - "src": "5864:117:14", + "src": "5864:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5879:15:14", + "src": "5879:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5893:1:14", + "src": "5893:1:17", "type": "", "value": "0" }, @@ -6596,14 +6551,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5883:6:14", + "src": "5883:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5908:63:14", + "src": "5908:63:17", "value": { "arguments": [ { @@ -6611,41 +6566,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5943:9:14" + "src": "5943:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5954:6:14" + "src": "5954:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5939:3:14" + "src": "5939:3:17" }, "nodeType": "YulFunctionCall", - "src": "5939:22:14" + "src": "5939:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5963:7:14" + "src": "5963:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5918:20:14" + "src": "5918:20:17" }, "nodeType": "YulFunctionCall", - "src": "5918:53:14" + "src": "5918:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5908:6:14" + "src": "5908:6:17" } ] } @@ -6653,15 +6608,15 @@ }, { "nodeType": "YulBlock", - "src": "5991:118:14", + "src": "5991:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6006:16:14", + "src": "6006:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6020:2:14", + "src": "6020:2:17", "type": "", "value": "32" }, @@ -6669,14 +6624,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6010:6:14", + "src": "6010:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6036:63:14", + "src": "6036:63:17", "value": { "arguments": [ { @@ -6684,41 +6639,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6071:9:14" + "src": "6071:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6082:6:14" + "src": "6082:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6067:3:14" + "src": "6067:3:17" }, "nodeType": "YulFunctionCall", - "src": "6067:22:14" + "src": "6067:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6091:7:14" + "src": "6091:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "6046:20:14" + "src": "6046:20:17" }, "nodeType": "YulFunctionCall", - "src": "6046:53:14" + "src": "6046:53:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "6036:6:14" + "src": "6036:6:17" } ] } @@ -6726,15 +6681,15 @@ }, { "nodeType": "YulBlock", - "src": "6119:118:14", + "src": "6119:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6134:16:14", + "src": "6134:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6148:2:14", + "src": "6148:2:17", "type": "", "value": "64" }, @@ -6742,14 +6697,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6138:6:14", + "src": "6138:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6164:63:14", + "src": "6164:63:17", "value": { "arguments": [ { @@ -6757,41 +6712,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6199:9:14" + "src": "6199:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6210:6:14" + "src": "6210:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6195:3:14" + "src": "6195:3:17" }, "nodeType": "YulFunctionCall", - "src": "6195:22:14" + "src": "6195:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6219:7:14" + "src": "6219:7:17" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "6174:20:14" + "src": "6174:20:17" }, "nodeType": "YulFunctionCall", - "src": "6174:53:14" + "src": "6174:53:17" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "6164:6:14" + "src": "6164:6:17" } ] } @@ -6805,13 +6760,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5679:9:14", + "src": "5679:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5690:7:14", + "src": "5690:7:17", "type": "" } ], @@ -6819,42 +6774,42 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5702:6:14", + "src": "5702:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5710:6:14", + "src": "5710:6:17", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "5718:6:14", + "src": "5718:6:17", "type": "" } ], - "src": "5625:619:14" + "src": "5625:619:17" }, { "body": { "nodeType": "YulBlock", - "src": "6295:32:14", + "src": "6295:32:17", "statements": [ { "nodeType": "YulAssignment", - "src": "6305:16:14", + "src": "6305:16:17", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "6316:5:14" + "src": "6316:5:17" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "6305:7:14" + "src": "6305:7:17" } ] } @@ -6866,7 +6821,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6277:5:14", + "src": "6277:5:17", "type": "" } ], @@ -6874,21 +6829,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "6287:7:14", + "src": "6287:7:17", "type": "" } ], - "src": "6250:77:14" + "src": "6250:77:17" }, { "body": { "nodeType": "YulBlock", - "src": "6376:79:14", + "src": "6376:79:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6433:16:14", + "src": "6433:16:17", "statements": [ { "expression": { @@ -6896,14 +6851,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6442:1:14", + "src": "6442:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6445:1:14", + "src": "6445:1:17", "type": "", "value": "0" } @@ -6911,13 +6866,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6435:6:14" + "src": "6435:6:17" }, "nodeType": "YulFunctionCall", - "src": "6435:12:14" + "src": "6435:12:17" }, "nodeType": "YulExpressionStatement", - "src": "6435:12:14" + "src": "6435:12:17" } ] }, @@ -6928,44 +6883,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6399:5:14" + "src": "6399:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6424:5:14" + "src": "6424:5:17" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "6406:17:14" + "src": "6406:17:17" }, "nodeType": "YulFunctionCall", - "src": "6406:24:14" + "src": "6406:24:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "6396:2:14" + "src": "6396:2:17" }, "nodeType": "YulFunctionCall", - "src": "6396:35:14" + "src": "6396:35:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6389:6:14" + "src": "6389:6:17" }, "nodeType": "YulFunctionCall", - "src": "6389:43:14" + "src": "6389:43:17" }, "nodeType": "YulIf", - "src": "6386:63:14" + "src": "6386:63:17" } ] }, @@ -6975,41 +6930,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6369:5:14", + "src": "6369:5:17", "type": "" } ], - "src": "6333:122:14" + "src": "6333:122:17" }, { "body": { "nodeType": "YulBlock", - "src": "6513:87:14", + "src": "6513:87:17", "statements": [ { "nodeType": "YulAssignment", - "src": "6523:29:14", + "src": "6523:29:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "6545:6:14" + "src": "6545:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6532:12:14" + "src": "6532:12:17" }, "nodeType": "YulFunctionCall", - "src": "6532:20:14" + "src": "6532:20:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6523:5:14" + "src": "6523:5:17" } ] }, @@ -7019,19 +6974,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6588:5:14" + "src": "6588:5:17" } ], "functionName": { "name": "validator_revert_t_bytes32", "nodeType": "YulIdentifier", - "src": "6561:26:14" + "src": "6561:26:17" }, "nodeType": "YulFunctionCall", - "src": "6561:33:14" + "src": "6561:33:17" }, "nodeType": "YulExpressionStatement", - "src": "6561:33:14" + "src": "6561:33:17" } ] }, @@ -7041,13 +6996,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6491:6:14", + "src": "6491:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "6499:3:14", + "src": "6499:3:17", "type": "" } ], @@ -7055,21 +7010,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6507:5:14", + "src": "6507:5:17", "type": "" } ], - "src": "6461:139:14" + "src": "6461:139:17" }, { "body": { "nodeType": "YulBlock", - "src": "6672:263:14", + "src": "6672:263:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6718:83:14", + "src": "6718:83:17", "statements": [ { "expression": { @@ -7077,13 +7032,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "6720:77:14" + "src": "6720:77:17" }, "nodeType": "YulFunctionCall", - "src": "6720:79:14" + "src": "6720:79:17" }, "nodeType": "YulExpressionStatement", - "src": "6720:79:14" + "src": "6720:79:17" } ] }, @@ -7094,26 +7049,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6693:7:14" + "src": "6693:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6702:9:14" + "src": "6702:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6689:3:14" + "src": "6689:3:17" }, "nodeType": "YulFunctionCall", - "src": "6689:23:14" + "src": "6689:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6714:2:14", + "src": "6714:2:17", "type": "", "value": "32" } @@ -7121,25 +7076,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "6685:3:14" + "src": "6685:3:17" }, "nodeType": "YulFunctionCall", - "src": "6685:32:14" + "src": "6685:32:17" }, "nodeType": "YulIf", - "src": "6682:119:14" + "src": "6682:119:17" }, { "nodeType": "YulBlock", - "src": "6811:117:14", + "src": "6811:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6826:15:14", + "src": "6826:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6840:1:14", + "src": "6840:1:17", "type": "", "value": "0" }, @@ -7147,14 +7102,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6830:6:14", + "src": "6830:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6855:63:14", + "src": "6855:63:17", "value": { "arguments": [ { @@ -7162,41 +7117,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6890:9:14" + "src": "6890:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6901:6:14" + "src": "6901:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6886:3:14" + "src": "6886:3:17" }, "nodeType": "YulFunctionCall", - "src": "6886:22:14" + "src": "6886:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6910:7:14" + "src": "6910:7:17" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "6865:20:14" + "src": "6865:20:17" }, "nodeType": "YulFunctionCall", - "src": "6865:53:14" + "src": "6865:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6855:6:14" + "src": "6855:6:17" } ] } @@ -7210,13 +7165,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "6642:9:14", + "src": "6642:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "6653:7:14", + "src": "6653:7:17", "type": "" } ], @@ -7224,16 +7179,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "6665:6:14", + "src": "6665:6:17", "type": "" } ], - "src": "6606:329:14" + "src": "6606:329:17" }, { "body": { "nodeType": "YulBlock", - "src": "7006:53:14", + "src": "7006:53:17", "statements": [ { "expression": { @@ -7241,35 +7196,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7023:3:14" + "src": "7023:3:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "7046:5:14" + "src": "7046:5:17" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "7028:17:14" + "src": "7028:17:17" }, "nodeType": "YulFunctionCall", - "src": "7028:24:14" + "src": "7028:24:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7016:6:14" + "src": "7016:6:17" }, "nodeType": "YulFunctionCall", - "src": "7016:37:14" + "src": "7016:37:17" }, "nodeType": "YulExpressionStatement", - "src": "7016:37:14" + "src": "7016:37:17" } ] }, @@ -7279,37 +7234,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6994:5:14", + "src": "6994:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "7001:3:14", + "src": "7001:3:17", "type": "" } ], - "src": "6941:118:14" + "src": "6941:118:17" }, { "body": { "nodeType": "YulBlock", - "src": "7163:124:14", + "src": "7163:124:17", "statements": [ { "nodeType": "YulAssignment", - "src": "7173:26:14", + "src": "7173:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7185:9:14" + "src": "7185:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7196:2:14", + "src": "7196:2:17", "type": "", "value": "32" } @@ -7317,16 +7272,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7181:3:14" + "src": "7181:3:17" }, "nodeType": "YulFunctionCall", - "src": "7181:18:14" + "src": "7181:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7173:4:14" + "src": "7173:4:17" } ] }, @@ -7336,19 +7291,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7253:6:14" + "src": "7253:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7266:9:14" + "src": "7266:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7277:1:14", + "src": "7277:1:17", "type": "", "value": "0" } @@ -7356,22 +7311,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7262:3:14" + "src": "7262:3:17" }, "nodeType": "YulFunctionCall", - "src": "7262:17:14" + "src": "7262:17:17" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "7209:43:14" + "src": "7209:43:17" }, "nodeType": "YulFunctionCall", - "src": "7209:71:14" + "src": "7209:71:17" }, "nodeType": "YulExpressionStatement", - "src": "7209:71:14" + "src": "7209:71:17" } ] }, @@ -7381,13 +7336,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7135:9:14", + "src": "7135:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7147:6:14", + "src": "7147:6:17", "type": "" } ], @@ -7395,21 +7350,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7158:4:14", + "src": "7158:4:17", "type": "" } ], - "src": "7065:222:14" + "src": "7065:222:17" }, { "body": { "nodeType": "YulBlock", - "src": "7376:391:14", + "src": "7376:391:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7422:83:14", + "src": "7422:83:17", "statements": [ { "expression": { @@ -7417,13 +7372,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "7424:77:14" + "src": "7424:77:17" }, "nodeType": "YulFunctionCall", - "src": "7424:79:14" + "src": "7424:79:17" }, "nodeType": "YulExpressionStatement", - "src": "7424:79:14" + "src": "7424:79:17" } ] }, @@ -7434,26 +7389,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7397:7:14" + "src": "7397:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7406:9:14" + "src": "7406:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7393:3:14" + "src": "7393:3:17" }, "nodeType": "YulFunctionCall", - "src": "7393:23:14" + "src": "7393:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7418:2:14", + "src": "7418:2:17", "type": "", "value": "64" } @@ -7461,25 +7416,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7389:3:14" + "src": "7389:3:17" }, "nodeType": "YulFunctionCall", - "src": "7389:32:14" + "src": "7389:32:17" }, "nodeType": "YulIf", - "src": "7386:119:14" + "src": "7386:119:17" }, { "nodeType": "YulBlock", - "src": "7515:117:14", + "src": "7515:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7530:15:14", + "src": "7530:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7544:1:14", + "src": "7544:1:17", "type": "", "value": "0" }, @@ -7487,14 +7442,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7534:6:14", + "src": "7534:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7559:63:14", + "src": "7559:63:17", "value": { "arguments": [ { @@ -7502,41 +7457,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7594:9:14" + "src": "7594:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7605:6:14" + "src": "7605:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7590:3:14" + "src": "7590:3:17" }, "nodeType": "YulFunctionCall", - "src": "7590:22:14" + "src": "7590:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7614:7:14" + "src": "7614:7:17" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "7569:20:14" + "src": "7569:20:17" }, "nodeType": "YulFunctionCall", - "src": "7569:53:14" + "src": "7569:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7559:6:14" + "src": "7559:6:17" } ] } @@ -7544,15 +7499,15 @@ }, { "nodeType": "YulBlock", - "src": "7642:118:14", + "src": "7642:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7657:16:14", + "src": "7657:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7671:2:14", + "src": "7671:2:17", "type": "", "value": "32" }, @@ -7560,14 +7515,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7661:6:14", + "src": "7661:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7687:63:14", + "src": "7687:63:17", "value": { "arguments": [ { @@ -7575,41 +7530,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7722:9:14" + "src": "7722:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7733:6:14" + "src": "7733:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7718:3:14" + "src": "7718:3:17" }, "nodeType": "YulFunctionCall", - "src": "7718:22:14" + "src": "7718:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7742:7:14" + "src": "7742:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "7697:20:14" + "src": "7697:20:17" }, "nodeType": "YulFunctionCall", - "src": "7697:53:14" + "src": "7697:53:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "7687:6:14" + "src": "7687:6:17" } ] } @@ -7623,13 +7578,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7338:9:14", + "src": "7338:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7349:7:14", + "src": "7349:7:17", "type": "" } ], @@ -7637,47 +7592,47 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "7361:6:14", + "src": "7361:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7369:6:14", + "src": "7369:6:17", "type": "" } ], - "src": "7293:474:14" + "src": "7293:474:17" }, { "body": { "nodeType": "YulBlock", - "src": "7847:40:14", + "src": "7847:40:17", "statements": [ { "nodeType": "YulAssignment", - "src": "7858:22:14", + "src": "7858:22:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "7874:5:14" + "src": "7874:5:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "7868:5:14" + "src": "7868:5:17" }, "nodeType": "YulFunctionCall", - "src": "7868:12:14" + "src": "7868:12:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "7858:6:14" + "src": "7858:6:17" } ] } @@ -7689,7 +7644,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "7830:5:14", + "src": "7830:5:17", "type": "" } ], @@ -7697,16 +7652,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "7840:6:14", + "src": "7840:6:17", "type": "" } ], - "src": "7773:114:14" + "src": "7773:114:17" }, { "body": { "nodeType": "YulBlock", - "src": "8004:73:14", + "src": "8004:73:17", "statements": [ { "expression": { @@ -7714,39 +7669,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8021:3:14" + "src": "8021:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "8026:6:14" + "src": "8026:6:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8014:6:14" + "src": "8014:6:17" }, "nodeType": "YulFunctionCall", - "src": "8014:19:14" + "src": "8014:19:17" }, "nodeType": "YulExpressionStatement", - "src": "8014:19:14" + "src": "8014:19:17" }, { "nodeType": "YulAssignment", - "src": "8042:29:14", + "src": "8042:29:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8061:3:14" + "src": "8061:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8066:4:14", + "src": "8066:4:17", "type": "", "value": "0x20" } @@ -7754,16 +7709,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8057:3:14" + "src": "8057:3:17" }, "nodeType": "YulFunctionCall", - "src": "8057:14:14" + "src": "8057:14:17" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "8042:11:14" + "src": "8042:11:17" } ] } @@ -7775,13 +7730,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "7976:3:14", + "src": "7976:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "7981:6:14", + "src": "7981:6:17", "type": "" } ], @@ -7789,47 +7744,47 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "7992:11:14", + "src": "7992:11:17", "type": "" } ], - "src": "7893:184:14" + "src": "7893:184:17" }, { "body": { "nodeType": "YulBlock", - "src": "8155:60:14", + "src": "8155:60:17", "statements": [ { "nodeType": "YulAssignment", - "src": "8165:11:14", + "src": "8165:11:17", "value": { "name": "ptr", "nodeType": "YulIdentifier", - "src": "8173:3:14" + "src": "8173:3:17" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "8165:4:14" + "src": "8165:4:17" } ] }, { "nodeType": "YulAssignment", - "src": "8186:22:14", + "src": "8186:22:17", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", - "src": "8198:3:14" + "src": "8198:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8203:4:14", + "src": "8203:4:17", "type": "", "value": "0x20" } @@ -7837,16 +7792,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8194:3:14" + "src": "8194:3:17" }, "nodeType": "YulFunctionCall", - "src": "8194:14:14" + "src": "8194:14:17" }, "variableNames": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "8186:4:14" + "src": "8186:4:17" } ] } @@ -7858,7 +7813,7 @@ { "name": "ptr", "nodeType": "YulTypedName", - "src": "8142:3:14", + "src": "8142:3:17", "type": "" } ], @@ -7866,16 +7821,16 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "8150:4:14", + "src": "8150:4:17", "type": "" } ], - "src": "8083:132:14" + "src": "8083:132:17" }, { "body": { "nodeType": "YulBlock", - "src": "8276:53:14", + "src": "8276:53:17", "statements": [ { "expression": { @@ -7883,35 +7838,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8293:3:14" + "src": "8293:3:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "8316:5:14" + "src": "8316:5:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "8298:17:14" + "src": "8298:17:17" }, "nodeType": "YulFunctionCall", - "src": "8298:24:14" + "src": "8298:24:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "8286:6:14" + "src": "8286:6:17" }, "nodeType": "YulFunctionCall", - "src": "8286:37:14" + "src": "8286:37:17" }, "nodeType": "YulExpressionStatement", - "src": "8286:37:14" + "src": "8286:37:17" } ] }, @@ -7921,22 +7876,22 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "8264:5:14", + "src": "8264:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "8271:3:14", + "src": "8271:3:17", "type": "" } ], - "src": "8221:108:14" + "src": "8221:108:17" }, { "body": { "nodeType": "YulBlock", - "src": "8415:99:14", + "src": "8415:99:17", "statements": [ { "expression": { @@ -7944,39 +7899,39 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8459:6:14" + "src": "8459:6:17" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "8467:3:14" + "src": "8467:3:17" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256", "nodeType": "YulIdentifier", - "src": "8425:33:14" + "src": "8425:33:17" }, "nodeType": "YulFunctionCall", - "src": "8425:46:14" + "src": "8425:46:17" }, "nodeType": "YulExpressionStatement", - "src": "8425:46:14" + "src": "8425:46:17" }, { "nodeType": "YulAssignment", - "src": "8480:28:14", + "src": "8480:28:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8498:3:14" + "src": "8498:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8503:4:14", + "src": "8503:4:17", "type": "", "value": "0x20" } @@ -7984,16 +7939,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8494:3:14" + "src": "8494:3:17" }, "nodeType": "YulFunctionCall", - "src": "8494:14:14" + "src": "8494:14:17" }, "variableNames": [ { "name": "updatedPos", "nodeType": "YulIdentifier", - "src": "8480:10:14" + "src": "8480:10:17" } ] } @@ -8005,13 +7960,13 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "8388:6:14", + "src": "8388:6:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "8396:3:14", + "src": "8396:3:17", "type": "" } ], @@ -8019,31 +7974,31 @@ { "name": "updatedPos", "nodeType": "YulTypedName", - "src": "8404:10:14", + "src": "8404:10:17", "type": "" } ], - "src": "8335:179:14" + "src": "8335:179:17" }, { "body": { "nodeType": "YulBlock", - "src": "8595:38:14", + "src": "8595:38:17", "statements": [ { "nodeType": "YulAssignment", - "src": "8605:22:14", + "src": "8605:22:17", "value": { "arguments": [ { "name": "ptr", "nodeType": "YulIdentifier", - "src": "8617:3:14" + "src": "8617:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8622:4:14", + "src": "8622:4:17", "type": "", "value": "0x20" } @@ -8051,16 +8006,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8613:3:14" + "src": "8613:3:17" }, "nodeType": "YulFunctionCall", - "src": "8613:14:14" + "src": "8613:14:17" }, "variableNames": [ { "name": "next", "nodeType": "YulIdentifier", - "src": "8605:4:14" + "src": "8605:4:17" } ] } @@ -8072,7 +8027,7 @@ { "name": "ptr", "nodeType": "YulTypedName", - "src": "8582:3:14", + "src": "8582:3:17", "type": "" } ], @@ -8080,118 +8035,118 @@ { "name": "next", "nodeType": "YulTypedName", - "src": "8590:4:14", + "src": "8590:4:17", "type": "" } ], - "src": "8520:113:14" + "src": "8520:113:17" }, { "body": { "nodeType": "YulBlock", - "src": "8793:608:14", + "src": "8793:608:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8803:68:14", + "src": "8803:68:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "8865:5:14" + "src": "8865:5:17" } ], "functionName": { "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "8817:47:14" + "src": "8817:47:17" }, "nodeType": "YulFunctionCall", - "src": "8817:54:14" + "src": "8817:54:17" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "8807:6:14", + "src": "8807:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8880:93:14", + "src": "8880:93:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8961:3:14" + "src": "8961:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "8966:6:14" + "src": "8966:6:17" } ], "functionName": { "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "8887:73:14" + "src": "8887:73:17" }, "nodeType": "YulFunctionCall", - "src": "8887:86:14" + "src": "8887:86:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "8880:3:14" + "src": "8880:3:17" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "8982:71:14", + "src": "8982:71:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9047:5:14" + "src": "9047:5:17" } ], "functionName": { "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "8997:49:14" + "src": "8997:49:17" }, "nodeType": "YulFunctionCall", - "src": "8997:56:14" + "src": "8997:56:17" }, "variables": [ { "name": "baseRef", "nodeType": "YulTypedName", - "src": "8986:7:14", + "src": "8986:7:17", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "9062:21:14", + "src": "9062:21:17", "value": { "name": "baseRef", "nodeType": "YulIdentifier", - "src": "9076:7:14" + "src": "9076:7:17" }, "variables": [ { "name": "srcPtr", "nodeType": "YulTypedName", - "src": "9066:6:14", + "src": "9066:6:17", "type": "" } ] @@ -8199,92 +8154,92 @@ { "body": { "nodeType": "YulBlock", - "src": "9152:224:14", + "src": "9152:224:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9166:34:14", + "src": "9166:34:17", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", - "src": "9193:6:14" + "src": "9193:6:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "9187:5:14" + "src": "9187:5:17" }, "nodeType": "YulFunctionCall", - "src": "9187:13:14" + "src": "9187:13:17" }, "variables": [ { "name": "elementValue0", "nodeType": "YulTypedName", - "src": "9170:13:14", + "src": "9170:13:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "9213:70:14", + "src": "9213:70:17", "value": { "arguments": [ { "name": "elementValue0", "nodeType": "YulIdentifier", - "src": "9264:13:14" + "src": "9264:13:17" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "9279:3:14" + "src": "9279:3:17" } ], "functionName": { "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", "nodeType": "YulIdentifier", - "src": "9220:43:14" + "src": "9220:43:17" }, "nodeType": "YulFunctionCall", - "src": "9220:63:14" + "src": "9220:63:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9213:3:14" + "src": "9213:3:17" } ] }, { "nodeType": "YulAssignment", - "src": "9296:70:14", + "src": "9296:70:17", "value": { "arguments": [ { "name": "srcPtr", "nodeType": "YulIdentifier", - "src": "9359:6:14" + "src": "9359:6:17" } ], "functionName": { "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "9306:52:14" + "src": "9306:52:17" }, "nodeType": "YulFunctionCall", - "src": "9306:60:14" + "src": "9306:60:17" }, "variableNames": [ { "name": "srcPtr", "nodeType": "YulIdentifier", - "src": "9296:6:14" + "src": "9296:6:17" } ] } @@ -8295,41 +8250,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "9114:1:14" + "src": "9114:1:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "9117:6:14" + "src": "9117:6:17" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "9111:2:14" + "src": "9111:2:17" }, "nodeType": "YulFunctionCall", - "src": "9111:13:14" + "src": "9111:13:17" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "9125:18:14", + "src": "9125:18:17", "statements": [ { "nodeType": "YulAssignment", - "src": "9127:14:14", + "src": "9127:14:17", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "9136:1:14" + "src": "9136:1:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9139:1:14", + "src": "9139:1:17", "type": "", "value": "1" } @@ -8337,16 +8292,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9132:3:14" + "src": "9132:3:17" }, "nodeType": "YulFunctionCall", - "src": "9132:9:14" + "src": "9132:9:17" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "9127:1:14" + "src": "9127:1:17" } ] } @@ -8354,15 +8309,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "9096:14:14", + "src": "9096:14:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9098:10:14", + "src": "9098:10:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "9107:1:14", + "src": "9107:1:17", "type": "", "value": "0" }, @@ -8370,28 +8325,28 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "9102:1:14", + "src": "9102:1:17", "type": "" } ] } ] }, - "src": "9092:284:14" + "src": "9092:284:17" }, { "nodeType": "YulAssignment", - "src": "9385:10:14", + "src": "9385:10:17", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "9392:3:14" + "src": "9392:3:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "9385:3:14" + "src": "9385:3:17" } ] } @@ -8403,13 +8358,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "8772:5:14", + "src": "8772:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "8779:3:14", + "src": "8779:3:17", "type": "" } ], @@ -8417,31 +8372,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "8788:3:14", + "src": "8788:3:17", "type": "" } ], - "src": "8669:732:14" + "src": "8669:732:17" }, { "body": { "nodeType": "YulBlock", - "src": "9555:225:14", + "src": "9555:225:17", "statements": [ { "nodeType": "YulAssignment", - "src": "9565:26:14", + "src": "9565:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9577:9:14" + "src": "9577:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9588:2:14", + "src": "9588:2:17", "type": "", "value": "32" } @@ -8449,16 +8404,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9573:3:14" + "src": "9573:3:17" }, "nodeType": "YulFunctionCall", - "src": "9573:18:14" + "src": "9573:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9565:4:14" + "src": "9565:4:17" } ] }, @@ -8470,12 +8425,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9612:9:14" + "src": "9612:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9623:1:14", + "src": "9623:1:17", "type": "", "value": "0" } @@ -8483,73 +8438,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9608:3:14" + "src": "9608:3:17" }, "nodeType": "YulFunctionCall", - "src": "9608:17:14" + "src": "9608:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9631:4:14" + "src": "9631:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9637:9:14" + "src": "9637:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "9627:3:14" + "src": "9627:3:17" }, "nodeType": "YulFunctionCall", - "src": "9627:20:14" + "src": "9627:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9601:6:14" + "src": "9601:6:17" }, "nodeType": "YulFunctionCall", - "src": "9601:47:14" + "src": "9601:47:17" }, "nodeType": "YulExpressionStatement", - "src": "9601:47:14" + "src": "9601:47:17" }, { "nodeType": "YulAssignment", - "src": "9657:116:14", + "src": "9657:116:17", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9759:6:14" + "src": "9759:6:17" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "9768:4:14" + "src": "9768:4:17" } ], "functionName": { "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "9665:93:14" + "src": "9665:93:17" }, "nodeType": "YulFunctionCall", - "src": "9665:108:14" + "src": "9665:108:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9657:4:14" + "src": "9657:4:17" } ] } @@ -8561,13 +8516,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9527:9:14", + "src": "9527:9:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9539:6:14", + "src": "9539:6:17", "type": "" } ], @@ -8575,1981 +8530,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9550:4:14", + "src": "9550:4:17", "type": "" } ], - "src": "9407:373:14" + "src": "9407:373:17" }, { "body": { "nodeType": "YulBlock", - "src": "9875:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9892:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9895:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9885:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "9885:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "9885:12:14" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "9786:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9998:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10015:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10018:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10008:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10008:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10008:12:14" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "9909:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10060:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10077:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10080:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10070:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10070:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10070:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10174:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10177:4:14", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10167:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10167:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10167:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10198:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10201:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10191:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10191:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10191:15:14" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "10032:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10261:238:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10271:58:14", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10293:6:14" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10323:4:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "10301:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "10301:27:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10289:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10289:40:14" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "10275:10:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10440:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10442:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10442:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10442:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10383:10:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10395:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10380:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10380:34:14" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10419:10:14" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10431:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10416:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10416:22:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "10377:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10377:62:14" - }, - "nodeType": "YulIf", - "src": "10374:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10478:2:14", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10482:10:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10471:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10471:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10471:22:14" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10247:6:14", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10255:4:14", - "type": "" - } - ], - "src": "10218:281:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10546:88:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10556:30:14", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "10566:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "10566:20:14" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10556:6:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10615:6:14" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10623:4:14" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "10595:19:14" - }, - "nodeType": "YulFunctionCall", - "src": "10595:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10595:33:14" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10530:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10539:6:14", - "type": "" - } - ], - "src": "10505:129:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10707:241:14", + "src": "9826:76:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "10812:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10814:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10814:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10814:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10784:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10792:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10781:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10781:30:14" - }, - "nodeType": "YulIf", - "src": "10778:56:14" - }, - { - "nodeType": "YulAssignment", - "src": "10844:37:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10874:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "10852:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "10852:29:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10844:4:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10918:23:14", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10930:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10936:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10926:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10926:15:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10918:4:14" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10691:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10702:4:14", - "type": "" - } - ], - "src": "10640:308:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11005:103:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11028:3:14" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11033:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11038:6:14" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "11015:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "11015:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11015:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11086:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11091:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11082:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11082:16:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11100:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11075:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11075:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11075:27:14" - } - ] - }, - "name": "copy_calldata_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "10987:3:14", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "10992:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10997:6:14", - "type": "" - } - ], - "src": "10954:154:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11198:328:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11208:75:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11275:6:14" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "11233:41:14" - }, - "nodeType": "YulFunctionCall", - "src": "11233:49:14" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "11217:15:14" - }, - "nodeType": "YulFunctionCall", - "src": "11217:66:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11208:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11299:5:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11306:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11292:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11292:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11292:21:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11322:27:14", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11337:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11344:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11333:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11333:16:14" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "11326:3:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11387:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "11389:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "11389:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11389:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11368:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11373:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11364:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11364:16:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11382:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "11361:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "11361:25:14" - }, - "nodeType": "YulIf", - "src": "11358:112:14" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11503:3:14" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11508:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11513:6:14" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "11479:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "11479:41:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11479:41:14" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "11171:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11176:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11184:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11192:5:14", - "type": "" - } - ], - "src": "11114:412:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11608:278:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11657:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "11659:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "11659:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11659:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11636:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11644:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11632:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11632:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11651:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11628:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11628:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11621:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11621:35:14" - }, - "nodeType": "YulIf", - "src": "11618:122:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11749:34:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11776:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11763:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "11763:20:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11753:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11792:88:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11853:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11861:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11849:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11849:17:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11868:6:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11876:3:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "11801:47:14" - }, - "nodeType": "YulFunctionCall", - "src": "11801:79:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11792:5:14" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "11586:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11594:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11602:5:14", - "type": "" - } - ], - "src": "11546:340:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11968:433:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12014:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "12016:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12016:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12016:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "11989:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11998:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11985:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11985:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12010:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11981:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11981:32:14" - }, - "nodeType": "YulIf", - "src": "11978:119:14" - }, - { - "nodeType": "YulBlock", - "src": "12107:287:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12122:45:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12153:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12164:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12149:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12149:17:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12136:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "12136:31:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "12126:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12214:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "12216:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12216:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12216:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12186:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12194:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12183:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "12183:30:14" - }, - "nodeType": "YulIf", - "src": "12180:117:14" - }, - { - "nodeType": "YulAssignment", - "src": "12311:73:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12356:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12367:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12352:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12352:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12376:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "12321:30:14" - }, - "nodeType": "YulFunctionCall", - "src": "12321:63:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12311:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11938:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "11949:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11961:6:14", - "type": "" - } - ], - "src": "11892:509:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12496:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12513:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12516:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12506:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12506:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12506:12:14" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulFunctionDefinition", - "src": "12407:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12619:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12636:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12639:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12629:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12629:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12629:12:14" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulFunctionDefinition", - "src": "12530:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12742:478:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12791:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "12793:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12793:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12793:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12770:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12778:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12766:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12766:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "12785:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "12762:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12762:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "12755:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12755:35:14" - }, - "nodeType": "YulIf", - "src": "12752:122:14" - }, - { - "nodeType": "YulAssignment", - "src": "12883:30:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12906:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12893:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "12893:20:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12883:6:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12956:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulIdentifier", - "src": "12958:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12958:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12958:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12928:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12936:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12925:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "12925:30:14" - }, - "nodeType": "YulIf", - "src": "12922:117:14" - }, - { - "nodeType": "YulAssignment", - "src": "13048:29:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13064:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13072:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13060:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13060:17:14" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "13048:8:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13131:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulIdentifier", - "src": "13133:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "13133:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13133:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "13096:8:14" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13110:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13118:4:14", - "type": "", - "value": "0x01" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "13106:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13106:17:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13092:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13092:32:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13126:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13089:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "13089:41:14" - }, - "nodeType": "YulIf", - "src": "13086:128:14" - } - ] - }, - "name": "abi_decode_t_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "12709:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "12717:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "12725:8:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12735:6:14", - "type": "" - } - ], - "src": "12667:553:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13312:443:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13358:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "13360:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "13360:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13360:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "13333:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13342:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13329:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13329:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13354:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "13325:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13325:32:14" - }, - "nodeType": "YulIf", - "src": "13322:119:14" - }, - { - "nodeType": "YulBlock", - "src": "13451:297:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13466:45:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13497:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13508:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13493:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13493:17:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "13480:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "13480:31:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13470:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13558:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "13560:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "13560:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "13560:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13530:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13538:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13527:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "13527:30:14" - }, - "nodeType": "YulIf", - "src": "13524:117:14" - }, - { - "nodeType": "YulAssignment", - "src": "13655:83:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13710:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13721:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13706:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "13706:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "13730:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata_ptr", - "nodeType": "YulIdentifier", - "src": "13673:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "13673:65:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13655:6:14" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "13663:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13274:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "13285:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13297:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "13305:6:14", - "type": "" - } - ], - "src": "13226:529:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13801:76:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13855:16:14", + "src": "9880:16:17", "statements": [ { "expression": { @@ -10557,14 +8552,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13864:1:14", + "src": "9889:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13867:1:14", + "src": "9892:1:17", "type": "", "value": "0" } @@ -10572,13 +8567,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "13857:6:14" + "src": "9882:6:17" }, "nodeType": "YulFunctionCall", - "src": "13857:12:14" + "src": "9882:12:17" }, "nodeType": "YulExpressionStatement", - "src": "13857:12:14" + "src": "9882:12:17" } ] }, @@ -10589,44 +8584,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "13824:5:14" + "src": "9849:5:17" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13846:5:14" + "src": "9871:5:17" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "13831:14:14" + "src": "9856:14:17" }, "nodeType": "YulFunctionCall", - "src": "13831:21:14" + "src": "9856:21:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "13821:2:14" + "src": "9846:2:17" }, "nodeType": "YulFunctionCall", - "src": "13821:32:14" + "src": "9846:32:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "13814:6:14" + "src": "9839:6:17" }, "nodeType": "YulFunctionCall", - "src": "13814:40:14" + "src": "9839:40:17" }, "nodeType": "YulIf", - "src": "13811:60:14" + "src": "9836:60:17" } ] }, @@ -10636,41 +8631,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "13794:5:14", + "src": "9819:5:17", "type": "" } ], - "src": "13761:116:14" + "src": "9786:116:17" }, { "body": { "nodeType": "YulBlock", - "src": "13932:84:14", + "src": "9957:84:17", "statements": [ { "nodeType": "YulAssignment", - "src": "13942:29:14", + "src": "9967:29:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13964:6:14" + "src": "9989:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "13951:12:14" + "src": "9976:12:17" }, "nodeType": "YulFunctionCall", - "src": "13951:20:14" + "src": "9976:20:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13942:5:14" + "src": "9967:5:17" } ] }, @@ -10680,19 +8675,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "14004:5:14" + "src": "10029:5:17" } ], "functionName": { "name": "validator_revert_t_bool", "nodeType": "YulIdentifier", - "src": "13980:23:14" + "src": "10005:23:17" }, "nodeType": "YulFunctionCall", - "src": "13980:30:14" + "src": "10005:30:17" }, "nodeType": "YulExpressionStatement", - "src": "13980:30:14" + "src": "10005:30:17" } ] }, @@ -10702,13 +8697,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13910:6:14", + "src": "9935:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "13918:3:14", + "src": "9943:3:17", "type": "" } ], @@ -10716,21 +8711,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "13926:5:14", + "src": "9951:5:17", "type": "" } ], - "src": "13883:133:14" + "src": "9908:133:17" }, { "body": { "nodeType": "YulBlock", - "src": "14102:388:14", + "src": "10127:388:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "14148:83:14", + "src": "10173:83:17", "statements": [ { "expression": { @@ -10738,13 +8733,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "14150:77:14" + "src": "10175:77:17" }, "nodeType": "YulFunctionCall", - "src": "14150:79:14" + "src": "10175:79:17" }, "nodeType": "YulExpressionStatement", - "src": "14150:79:14" + "src": "10175:79:17" } ] }, @@ -10755,26 +8750,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14123:7:14" + "src": "10148:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14132:9:14" + "src": "10157:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14119:3:14" + "src": "10144:3:17" }, "nodeType": "YulFunctionCall", - "src": "14119:23:14" + "src": "10144:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14144:2:14", + "src": "10169:2:17", "type": "", "value": "64" } @@ -10782,25 +8777,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "14115:3:14" + "src": "10140:3:17" }, "nodeType": "YulFunctionCall", - "src": "14115:32:14" + "src": "10140:32:17" }, "nodeType": "YulIf", - "src": "14112:119:14" + "src": "10137:119:17" }, { "nodeType": "YulBlock", - "src": "14241:117:14", + "src": "10266:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "14256:15:14", + "src": "10281:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "14270:1:14", + "src": "10295:1:17", "type": "", "value": "0" }, @@ -10808,14 +8803,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "14260:6:14", + "src": "10285:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "14285:63:14", + "src": "10310:63:17", "value": { "arguments": [ { @@ -10823,41 +8818,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14320:9:14" + "src": "10345:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "14331:6:14" + "src": "10356:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14316:3:14" + "src": "10341:3:17" }, "nodeType": "YulFunctionCall", - "src": "14316:22:14" + "src": "10341:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14340:7:14" + "src": "10365:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "14295:20:14" + "src": "10320:20:17" }, "nodeType": "YulFunctionCall", - "src": "14295:53:14" + "src": "10320:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "14285:6:14" + "src": "10310:6:17" } ] } @@ -10865,15 +8860,15 @@ }, { "nodeType": "YulBlock", - "src": "14368:115:14", + "src": "10393:115:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "14383:16:14", + "src": "10408:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "14397:2:14", + "src": "10422:2:17", "type": "", "value": "32" }, @@ -10881,14 +8876,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "14387:6:14", + "src": "10412:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "14413:60:14", + "src": "10438:60:17", "value": { "arguments": [ { @@ -10896,41 +8891,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14445:9:14" + "src": "10470:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "14456:6:14" + "src": "10481:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14441:3:14" + "src": "10466:3:17" }, "nodeType": "YulFunctionCall", - "src": "14441:22:14" + "src": "10466:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14465:7:14" + "src": "10490:7:17" } ], "functionName": { "name": "abi_decode_t_bool", "nodeType": "YulIdentifier", - "src": "14423:17:14" + "src": "10448:17:17" }, "nodeType": "YulFunctionCall", - "src": "14423:50:14" + "src": "10448:50:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "14413:6:14" + "src": "10438:6:17" } ] } @@ -10944,13 +8939,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14064:9:14", + "src": "10089:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "14075:7:14", + "src": "10100:7:17", "type": "" } ], @@ -10958,27 +8953,249 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "14087:6:14", + "src": "10112:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "14095:6:14", + "src": "10120:6:17", "type": "" } ], - "src": "14022:468:14" + "src": "10047:468:17" }, { "body": { "nodeType": "YulBlock", - "src": "14562:241:14", + "src": "10610:28:17", "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10627:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10630:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10620:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10620:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10620:12:17" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "10521:117:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10733:28:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10750:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10753:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10743:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10743:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10743:12:17" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "10644:117:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10795:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10812:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10815:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10805:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10805:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10805:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10909:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10912:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10902:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10902:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10902:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10933:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10936:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10926:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10926:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10926:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "10767:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10996:238:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11006:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11028:6:17" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11058:4:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "11036:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "11036:27:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11024:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11024:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "11010:10:17", + "type": "" + } + ] + }, { "body": { "nodeType": "YulBlock", - "src": "14667:22:14", + "src": "11175:22:17", "statements": [ { "expression": { @@ -10986,13 +9203,217 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "14669:16:14" + "src": "11177:16:17" }, "nodeType": "YulFunctionCall", - "src": "14669:18:14" + "src": "11177:18:17" }, "nodeType": "YulExpressionStatement", - "src": "14669:18:14" + "src": "11177:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11118:10:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11130:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11115:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "11115:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11154:10:17" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11166:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "11151:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "11151:22:17" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "11112:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "11112:62:17" + }, + "nodeType": "YulIf", + "src": "11109:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11213:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "11217:10:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11206:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11206:22:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11206:22:17" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10982:6:17", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "10990:4:17", + "type": "" + } + ], + "src": "10953:281:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11281:88:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11291:30:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "11301:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "11301:20:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11291:6:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11350:6:17" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "11358:4:17" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "11330:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "11330:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11330:33:17" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "11265:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11274:6:17", + "type": "" + } + ], + "src": "11240:129:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11441:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11546:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "11548:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "11548:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11548:18:17" } ] }, @@ -11001,12 +9422,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "14639:6:14" + "src": "11518:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14647:18:14", + "src": "11526:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -11014,55 +9435,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "14636:2:14" + "src": "11515:2:17" }, "nodeType": "YulFunctionCall", - "src": "14636:30:14" + "src": "11515:30:17" }, "nodeType": "YulIf", - "src": "14633:56:14" + "src": "11512:56:17" }, { "nodeType": "YulAssignment", - "src": "14699:37:14", + "src": "11578:37:17", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "14729:6:14" + "src": "11608:6:17" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "14707:21:14" + "src": "11586:21:17" }, "nodeType": "YulFunctionCall", - "src": "14707:29:14" + "src": "11586:29:17" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14699:4:14" + "src": "11578:4:17" } ] }, { "nodeType": "YulAssignment", - "src": "14773:23:14", + "src": "11652:23:17", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14785:4:14" + "src": "11664:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14791:4:14", + "src": "11670:4:17", "type": "", "value": "0x20" } @@ -11070,16 +9491,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14781:3:14" + "src": "11660:3:17" }, "nodeType": "YulFunctionCall", - "src": "14781:15:14" + "src": "11660:15:17" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14773:4:14" + "src": "11652:4:17" } ] } @@ -11091,7 +9512,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "14546:6:14", + "src": "11425:6:17", "type": "" } ], @@ -11099,20 +9520,124 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "14557:4:14", + "src": "11436:4:17", "type": "" } ], - "src": "14496:307:14" + "src": "11375:307:17" }, { "body": { "nodeType": "YulBlock", - "src": "14892:327:14", + "src": "11739:103:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11762:3:17" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "11767:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11772:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "11749:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "11749:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11749:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "11820:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11825:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11816:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11816:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11834:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11809:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11809:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11809:27:17" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "11721:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "11726:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11731:6:17", + "type": "" + } + ], + "src": "11688:154:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11931:327:17", "statements": [ { "nodeType": "YulAssignment", - "src": "14902:74:14", + "src": "11941:74:17", "value": { "arguments": [ { @@ -11120,31 +9645,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "14968:6:14" + "src": "12007:6:17" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "14927:40:14" + "src": "11966:40:17" }, "nodeType": "YulFunctionCall", - "src": "14927:48:14" + "src": "11966:48:17" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "14911:15:14" + "src": "11950:15:17" }, "nodeType": "YulFunctionCall", - "src": "14911:65:14" + "src": "11950:65:17" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "14902:5:14" + "src": "11941:5:17" } ] }, @@ -11154,39 +9679,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "14992:5:14" + "src": "12031:5:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14999:6:14" + "src": "12038:6:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14985:6:14" + "src": "12024:6:17" }, "nodeType": "YulFunctionCall", - "src": "14985:21:14" + "src": "12024:21:17" }, "nodeType": "YulExpressionStatement", - "src": "14985:21:14" + "src": "12024:21:17" }, { "nodeType": "YulVariableDeclaration", - "src": "15015:27:14", + "src": "12054:27:17", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "15030:5:14" + "src": "12069:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15037:4:14", + "src": "12076:4:17", "type": "", "value": "0x20" } @@ -11194,16 +9719,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15026:3:14" + "src": "12065:3:17" }, "nodeType": "YulFunctionCall", - "src": "15026:16:14" + "src": "12065:16:17" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "15019:3:14", + "src": "12058:3:17", "type": "" } ] @@ -11211,7 +9736,7 @@ { "body": { "nodeType": "YulBlock", - "src": "15080:83:14", + "src": "12119:83:17", "statements": [ { "expression": { @@ -11219,13 +9744,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "15082:77:14" + "src": "12121:77:17" }, "nodeType": "YulFunctionCall", - "src": "15082:79:14" + "src": "12121:79:17" }, "nodeType": "YulExpressionStatement", - "src": "15082:79:14" + "src": "12121:79:17" } ] }, @@ -11236,38 +9761,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "15061:3:14" + "src": "12100:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "15066:6:14" + "src": "12105:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15057:3:14" + "src": "12096:3:17" }, "nodeType": "YulFunctionCall", - "src": "15057:16:14" + "src": "12096:16:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "15075:3:14" + "src": "12114:3:17" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "15054:2:14" + "src": "12093:2:17" }, "nodeType": "YulFunctionCall", - "src": "15054:25:14" + "src": "12093:25:17" }, "nodeType": "YulIf", - "src": "15051:112:14" + "src": "12090:112:17" }, { "expression": { @@ -11275,29 +9800,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "15196:3:14" + "src": "12235:3:17" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "15201:3:14" + "src": "12240:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "15206:6:14" + "src": "12245:6:17" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "15172:23:14" + "src": "12211:23:17" }, "nodeType": "YulFunctionCall", - "src": "15172:41:14" + "src": "12211:41:17" }, "nodeType": "YulExpressionStatement", - "src": "15172:41:14" + "src": "12211:41:17" } ] }, @@ -11307,19 +9832,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "14865:3:14", + "src": "11904:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "14870:6:14", + "src": "11909:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "14878:3:14", + "src": "11917:3:17", "type": "" } ], @@ -11327,21 +9852,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "14886:5:14", + "src": "11925:5:17", "type": "" } ], - "src": "14809:410:14" + "src": "11848:410:17" }, { "body": { "nodeType": "YulBlock", - "src": "15299:277:14", + "src": "12338:277:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "15348:83:14", + "src": "12387:83:17", "statements": [ { "expression": { @@ -11349,13 +9874,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "15350:77:14" + "src": "12389:77:17" }, "nodeType": "YulFunctionCall", - "src": "15350:79:14" + "src": "12389:79:17" }, "nodeType": "YulExpressionStatement", - "src": "15350:79:14" + "src": "12389:79:17" } ] }, @@ -11368,12 +9893,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15327:6:14" + "src": "12366:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15335:4:14", + "src": "12374:4:17", "type": "", "value": "0x1f" } @@ -11381,68 +9906,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15323:3:14" + "src": "12362:3:17" }, "nodeType": "YulFunctionCall", - "src": "15323:17:14" + "src": "12362:17:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "15342:3:14" + "src": "12381:3:17" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "15319:3:14" + "src": "12358:3:17" }, "nodeType": "YulFunctionCall", - "src": "15319:27:14" + "src": "12358:27:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "15312:6:14" + "src": "12351:6:17" }, "nodeType": "YulFunctionCall", - "src": "15312:35:14" + "src": "12351:35:17" }, "nodeType": "YulIf", - "src": "15309:122:14" + "src": "12348:122:17" }, { "nodeType": "YulVariableDeclaration", - "src": "15440:34:14", + "src": "12479:34:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15467:6:14" + "src": "12506:6:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "15454:12:14" + "src": "12493:12:17" }, "nodeType": "YulFunctionCall", - "src": "15454:20:14" + "src": "12493:20:17" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "15444:6:14", + "src": "12483:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15483:87:14", + "src": "12522:87:17", "value": { "arguments": [ { @@ -11450,12 +9975,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15543:6:14" + "src": "12582:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15551:4:14", + "src": "12590:4:17", "type": "", "value": "0x20" } @@ -11463,35 +9988,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15539:3:14" + "src": "12578:3:17" }, "nodeType": "YulFunctionCall", - "src": "15539:17:14" + "src": "12578:17:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "15558:6:14" + "src": "12597:6:17" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "15566:3:14" + "src": "12605:3:17" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "15492:46:14" + "src": "12531:46:17" }, "nodeType": "YulFunctionCall", - "src": "15492:78:14" + "src": "12531:78:17" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "15483:5:14" + "src": "12522:5:17" } ] } @@ -11503,13 +10028,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15277:6:14", + "src": "12316:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "15285:3:14", + "src": "12324:3:17", "type": "" } ], @@ -11517,21 +10042,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "15293:5:14", + "src": "12332:5:17", "type": "" } ], - "src": "15238:338:14" + "src": "12277:338:17" }, { "body": { "nodeType": "YulBlock", - "src": "15708:817:14", + "src": "12747:817:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "15755:83:14", + "src": "12794:83:17", "statements": [ { "expression": { @@ -11539,13 +10064,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "15757:77:14" + "src": "12796:77:17" }, "nodeType": "YulFunctionCall", - "src": "15757:79:14" + "src": "12796:79:17" }, "nodeType": "YulExpressionStatement", - "src": "15757:79:14" + "src": "12796:79:17" } ] }, @@ -11556,26 +10081,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15729:7:14" + "src": "12768:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15738:9:14" + "src": "12777:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15725:3:14" + "src": "12764:3:17" }, "nodeType": "YulFunctionCall", - "src": "15725:23:14" + "src": "12764:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15750:3:14", + "src": "12789:3:17", "type": "", "value": "128" } @@ -11583,25 +10108,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "15721:3:14" + "src": "12760:3:17" }, "nodeType": "YulFunctionCall", - "src": "15721:33:14" + "src": "12760:33:17" }, "nodeType": "YulIf", - "src": "15718:120:14" + "src": "12757:120:17" }, { "nodeType": "YulBlock", - "src": "15848:117:14", + "src": "12887:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15863:15:14", + "src": "12902:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15877:1:14", + "src": "12916:1:17", "type": "", "value": "0" }, @@ -11609,14 +10134,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15867:6:14", + "src": "12906:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15892:63:14", + "src": "12931:63:17", "value": { "arguments": [ { @@ -11624,41 +10149,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15927:9:14" + "src": "12966:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "15938:6:14" + "src": "12977:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15923:3:14" + "src": "12962:3:17" }, "nodeType": "YulFunctionCall", - "src": "15923:22:14" + "src": "12962:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15947:7:14" + "src": "12986:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "15902:20:14" + "src": "12941:20:17" }, "nodeType": "YulFunctionCall", - "src": "15902:53:14" + "src": "12941:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "15892:6:14" + "src": "12931:6:17" } ] } @@ -11666,15 +10191,15 @@ }, { "nodeType": "YulBlock", - "src": "15975:118:14", + "src": "13014:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15990:16:14", + "src": "13029:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16004:2:14", + "src": "13043:2:17", "type": "", "value": "32" }, @@ -11682,14 +10207,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15994:6:14", + "src": "13033:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16020:63:14", + "src": "13059:63:17", "value": { "arguments": [ { @@ -11697,41 +10222,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16055:9:14" + "src": "13094:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16066:6:14" + "src": "13105:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16051:3:14" + "src": "13090:3:17" }, "nodeType": "YulFunctionCall", - "src": "16051:22:14" + "src": "13090:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16075:7:14" + "src": "13114:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16030:20:14" + "src": "13069:20:17" }, "nodeType": "YulFunctionCall", - "src": "16030:53:14" + "src": "13069:53:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "16020:6:14" + "src": "13059:6:17" } ] } @@ -11739,15 +10264,15 @@ }, { "nodeType": "YulBlock", - "src": "16103:118:14", + "src": "13142:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16118:16:14", + "src": "13157:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16132:2:14", + "src": "13171:2:17", "type": "", "value": "64" }, @@ -11755,14 +10280,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16122:6:14", + "src": "13161:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16148:63:14", + "src": "13187:63:17", "value": { "arguments": [ { @@ -11770,41 +10295,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16183:9:14" + "src": "13222:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16194:6:14" + "src": "13233:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16179:3:14" + "src": "13218:3:17" }, "nodeType": "YulFunctionCall", - "src": "16179:22:14" + "src": "13218:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16203:7:14" + "src": "13242:7:17" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "16158:20:14" + "src": "13197:20:17" }, "nodeType": "YulFunctionCall", - "src": "16158:53:14" + "src": "13197:53:17" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "16148:6:14" + "src": "13187:6:17" } ] } @@ -11812,11 +10337,11 @@ }, { "nodeType": "YulBlock", - "src": "16231:287:14", + "src": "13270:287:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16246:46:14", + "src": "13285:46:17", "value": { "arguments": [ { @@ -11824,12 +10349,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16277:9:14" + "src": "13316:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16288:2:14", + "src": "13327:2:17", "type": "", "value": "96" } @@ -11837,25 +10362,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16273:3:14" + "src": "13312:3:17" }, "nodeType": "YulFunctionCall", - "src": "16273:18:14" + "src": "13312:18:17" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "16260:12:14" + "src": "13299:12:17" }, "nodeType": "YulFunctionCall", - "src": "16260:32:14" + "src": "13299:32:17" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "16250:6:14", + "src": "13289:6:17", "type": "" } ] @@ -11863,7 +10388,7 @@ { "body": { "nodeType": "YulBlock", - "src": "16339:83:14", + "src": "13378:83:17", "statements": [ { "expression": { @@ -11871,13 +10396,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "16341:77:14" + "src": "13380:77:17" }, "nodeType": "YulFunctionCall", - "src": "16341:79:14" + "src": "13380:79:17" }, "nodeType": "YulExpressionStatement", - "src": "16341:79:14" + "src": "13380:79:17" } ] }, @@ -11886,12 +10411,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16311:6:14" + "src": "13350:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16319:18:14", + "src": "13358:18:17", "type": "", "value": "0xffffffffffffffff" } @@ -11899,17 +10424,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "16308:2:14" + "src": "13347:2:17" }, "nodeType": "YulFunctionCall", - "src": "16308:30:14" + "src": "13347:30:17" }, "nodeType": "YulIf", - "src": "16305:117:14" + "src": "13344:117:17" }, { "nodeType": "YulAssignment", - "src": "16436:72:14", + "src": "13475:72:17", "value": { "arguments": [ { @@ -11917,41 +10442,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16480:9:14" + "src": "13519:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16491:6:14" + "src": "13530:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16476:3:14" + "src": "13515:3:17" }, "nodeType": "YulFunctionCall", - "src": "16476:22:14" + "src": "13515:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16500:7:14" + "src": "13539:7:17" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "16446:29:14" + "src": "13485:29:17" }, "nodeType": "YulFunctionCall", - "src": "16446:62:14" + "src": "13485:62:17" }, "variableNames": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "16436:6:14" + "src": "13475:6:17" } ] } @@ -11965,13 +10490,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15654:9:14", + "src": "12693:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "15665:7:14", + "src": "12704:7:17", "type": "" } ], @@ -11979,39 +10504,39 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "15677:6:14", + "src": "12716:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "15685:6:14", + "src": "12724:6:17", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "15693:6:14", + "src": "12732:6:17", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "15701:6:14", + "src": "12740:6:17", "type": "" } ], - "src": "15582:943:14" + "src": "12621:943:17" }, { "body": { "nodeType": "YulBlock", - "src": "16614:391:14", + "src": "13653:391:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "16660:83:14", + "src": "13699:83:17", "statements": [ { "expression": { @@ -12019,13 +10544,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "16662:77:14" + "src": "13701:77:17" }, "nodeType": "YulFunctionCall", - "src": "16662:79:14" + "src": "13701:79:17" }, "nodeType": "YulExpressionStatement", - "src": "16662:79:14" + "src": "13701:79:17" } ] }, @@ -12036,26 +10561,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16635:7:14" + "src": "13674:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16644:9:14" + "src": "13683:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16631:3:14" + "src": "13670:3:17" }, "nodeType": "YulFunctionCall", - "src": "16631:23:14" + "src": "13670:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16656:2:14", + "src": "13695:2:17", "type": "", "value": "64" } @@ -12063,25 +10588,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "16627:3:14" + "src": "13666:3:17" }, "nodeType": "YulFunctionCall", - "src": "16627:32:14" + "src": "13666:32:17" }, "nodeType": "YulIf", - "src": "16624:119:14" + "src": "13663:119:17" }, { "nodeType": "YulBlock", - "src": "16753:117:14", + "src": "13792:117:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16768:15:14", + "src": "13807:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16782:1:14", + "src": "13821:1:17", "type": "", "value": "0" }, @@ -12089,14 +10614,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16772:6:14", + "src": "13811:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16797:63:14", + "src": "13836:63:17", "value": { "arguments": [ { @@ -12104,41 +10629,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16832:9:14" + "src": "13871:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16843:6:14" + "src": "13882:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16828:3:14" + "src": "13867:3:17" }, "nodeType": "YulFunctionCall", - "src": "16828:22:14" + "src": "13867:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16852:7:14" + "src": "13891:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16807:20:14" + "src": "13846:20:17" }, "nodeType": "YulFunctionCall", - "src": "16807:53:14" + "src": "13846:53:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "16797:6:14" + "src": "13836:6:17" } ] } @@ -12146,15 +10671,15 @@ }, { "nodeType": "YulBlock", - "src": "16880:118:14", + "src": "13919:118:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16895:16:14", + "src": "13934:16:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16909:2:14", + "src": "13948:2:17", "type": "", "value": "32" }, @@ -12162,14 +10687,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16899:6:14", + "src": "13938:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16925:63:14", + "src": "13964:63:17", "value": { "arguments": [ { @@ -12177,41 +10702,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16960:9:14" + "src": "13999:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16971:6:14" + "src": "14010:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16956:3:14" + "src": "13995:3:17" }, "nodeType": "YulFunctionCall", - "src": "16956:22:14" + "src": "13995:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16980:7:14" + "src": "14019:7:17" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16935:20:14" + "src": "13974:20:17" }, "nodeType": "YulFunctionCall", - "src": "16935:53:14" + "src": "13974:53:17" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "16925:6:14" + "src": "13964:6:17" } ] } @@ -12225,13 +10750,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16576:9:14", + "src": "13615:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "16587:7:14", + "src": "13626:7:17", "type": "" } ], @@ -12239,22 +10764,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "16599:6:14", + "src": "13638:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "16607:6:14", + "src": "13646:6:17", "type": "" } ], - "src": "16531:474:14" + "src": "13570:474:17" }, { "body": { "nodeType": "YulBlock", - "src": "17039:152:14", + "src": "14078:152:17", "statements": [ { "expression": { @@ -12262,14 +10787,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17056:1:14", + "src": "14095:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17059:77:14", + "src": "14098:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -12277,13 +10802,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17049:6:14" + "src": "14088:6:17" }, "nodeType": "YulFunctionCall", - "src": "17049:88:14" + "src": "14088:88:17" }, "nodeType": "YulExpressionStatement", - "src": "17049:88:14" + "src": "14088:88:17" }, { "expression": { @@ -12291,14 +10816,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17153:1:14", + "src": "14192:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17156:4:14", + "src": "14195:4:17", "type": "", "value": "0x22" } @@ -12306,13 +10831,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17146:6:14" + "src": "14185:6:17" }, "nodeType": "YulFunctionCall", - "src": "17146:15:14" + "src": "14185:15:17" }, "nodeType": "YulExpressionStatement", - "src": "17146:15:14" + "src": "14185:15:17" }, { "expression": { @@ -12320,14 +10845,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17177:1:14", + "src": "14216:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17180:4:14", + "src": "14219:4:17", "type": "", "value": "0x24" } @@ -12335,39 +10860,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "17170:6:14" + "src": "14209:6:17" }, "nodeType": "YulFunctionCall", - "src": "17170:15:14" + "src": "14209:15:17" }, "nodeType": "YulExpressionStatement", - "src": "17170:15:14" + "src": "14209:15:17" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "17011:180:14" + "src": "14050:180:17" }, { "body": { "nodeType": "YulBlock", - "src": "17248:269:14", + "src": "14287:269:17", "statements": [ { "nodeType": "YulAssignment", - "src": "17258:22:14", + "src": "14297:22:17", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "17272:4:14" + "src": "14311:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17278:1:14", + "src": "14317:1:17", "type": "", "value": "2" } @@ -12375,33 +10900,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "17268:3:14" + "src": "14307:3:17" }, "nodeType": "YulFunctionCall", - "src": "17268:12:14" + "src": "14307:12:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17258:6:14" + "src": "14297:6:17" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "17289:38:14", + "src": "14328:38:17", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "17319:4:14" + "src": "14358:4:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17325:1:14", + "src": "14364:1:17", "type": "", "value": "1" } @@ -12409,16 +10934,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17315:3:14" + "src": "14354:3:17" }, "nodeType": "YulFunctionCall", - "src": "17315:12:14" + "src": "14354:12:17" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "17293:18:14", + "src": "14332:18:17", "type": "" } ] @@ -12426,22 +10951,22 @@ { "body": { "nodeType": "YulBlock", - "src": "17366:51:14", + "src": "14405:51:17", "statements": [ { "nodeType": "YulAssignment", - "src": "17380:27:14", + "src": "14419:27:17", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17394:6:14" + "src": "14433:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17402:4:14", + "src": "14441:4:17", "type": "", "value": "0x7f" } @@ -12449,16 +10974,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17390:3:14" + "src": "14429:3:17" }, "nodeType": "YulFunctionCall", - "src": "17390:17:14" + "src": "14429:17:17" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17380:6:14" + "src": "14419:6:17" } ] } @@ -12469,24 +10994,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "17346:18:14" + "src": "14385:18:17" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "17339:6:14" + "src": "14378:6:17" }, "nodeType": "YulFunctionCall", - "src": "17339:26:14" + "src": "14378:26:17" }, "nodeType": "YulIf", - "src": "17336:81:14" + "src": "14375:81:17" }, { "body": { "nodeType": "YulBlock", - "src": "17469:42:14", + "src": "14508:42:17", "statements": [ { "expression": { @@ -12494,13 +11019,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "17483:16:14" + "src": "14522:16:17" }, "nodeType": "YulFunctionCall", - "src": "17483:18:14" + "src": "14522:18:17" }, "nodeType": "YulExpressionStatement", - "src": "17483:18:14" + "src": "14522:18:17" } ] }, @@ -12509,19 +11034,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "17433:18:14" + "src": "14472:18:17" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17456:6:14" + "src": "14495:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17464:2:14", + "src": "14503:2:17", "type": "", "value": "32" } @@ -12529,22 +11054,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "17453:2:14" + "src": "14492:2:17" }, "nodeType": "YulFunctionCall", - "src": "17453:14:14" + "src": "14492:14:17" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "17430:2:14" + "src": "14469:2:17" }, "nodeType": "YulFunctionCall", - "src": "17430:38:14" + "src": "14469:38:17" }, "nodeType": "YulIf", - "src": "17427:84:14" + "src": "14466:84:17" } ] }, @@ -12554,7 +11079,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "17232:4:14", + "src": "14271:4:17", "type": "" } ], @@ -12562,16 +11087,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "17241:6:14", + "src": "14280:6:17", "type": "" } ], - "src": "17197:320:14" + "src": "14236:320:17" }, { "body": { "nodeType": "YulBlock", - "src": "17629:125:14", + "src": "14668:64:17", "statements": [ { "expression": { @@ -12581,12 +11106,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17651:6:14" + "src": "14690:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17659:1:14", + "src": "14698:1:17", "type": "", "value": "0" } @@ -12594,127 +11119,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17647:3:14" + "src": "14686:3:17" }, "nodeType": "YulFunctionCall", - "src": "17647:14:14" + "src": "14686:14:17" }, { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", + "hexValue": "62617463682073697a6520746f6f2073686f7274", "kind": "string", "nodeType": "YulLiteral", - "src": "17663:34:14", + "src": "14702:22:17", "type": "", - "value": "ERC721: approved query for nonex" + "value": "batch size too short" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17640:6:14" + "src": "14679:6:17" }, "nodeType": "YulFunctionCall", - "src": "17640:58:14" + "src": "14679:46:17" }, "nodeType": "YulExpressionStatement", - "src": "17640:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "17719:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17727:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17715:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "17715:15:14" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "17732:14:14", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17708:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "17708:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "17708:39:14" + "src": "14679:46:17" } ] }, - "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", + "name": "store_literal_in_memory_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17621:6:14", + "src": "14660:6:17", "type": "" } ], - "src": "17523:231:14" + "src": "14562:170:17" }, { "body": { "nodeType": "YulBlock", - "src": "17906:220:14", + "src": "14884:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "17916:74:14", + "src": "14894:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17982:3:14" + "src": "14960:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17987:2:14", + "src": "14965:2:17", "type": "", - "value": "44" + "value": "20" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17923:58:14" + "src": "14901:58:17" }, "nodeType": "YulFunctionCall", - "src": "17923:67:14" + "src": "14901:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17916:3:14" + "src": "14894:3:17" } ] }, @@ -12724,95 +11203,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18088:3:14" + "src": "15066:3:17" } ], "functionName": { - "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", + "name": "store_literal_in_memory_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e", "nodeType": "YulIdentifier", - "src": "17999:88:14" + "src": "14977:88:17" }, "nodeType": "YulFunctionCall", - "src": "17999:93:14" + "src": "14977:93:17" }, "nodeType": "YulExpressionStatement", - "src": "17999:93:14" + "src": "14977:93:17" }, { "nodeType": "YulAssignment", - "src": "18101:19:14", + "src": "15079:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18112:3:14" + "src": "15090:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18117:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18108:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "18108:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "18101:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "17894:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "17902:3:14", - "type": "" - } - ], - "src": "17760:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18303:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18313:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18325:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18336:2:14", + "src": "15095:2:17", "type": "", "value": "32" } @@ -12820,16 +11238,77 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18321:3:14" + "src": "15086:3:17" }, "nodeType": "YulFunctionCall", - "src": "18321:18:14" + "src": "15086:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15079:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14872:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14880:3:17", + "type": "" + } + ], + "src": "14738:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15281:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15291:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15303:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15314:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15299:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15299:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18313:4:14" + "src": "15291:4:17" } ] }, @@ -12841,12 +11320,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18360:9:14" + "src": "15338:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18371:1:14", + "src": "15349:1:17", "type": "", "value": "0" } @@ -12854,80 +11333,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18356:3:14" + "src": "15334:3:17" }, "nodeType": "YulFunctionCall", - "src": "18356:17:14" + "src": "15334:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18379:4:14" + "src": "15357:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18385:9:14" + "src": "15363:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18375:3:14" + "src": "15353:3:17" }, "nodeType": "YulFunctionCall", - "src": "18375:20:14" + "src": "15353:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18349:6:14" + "src": "15327:6:17" }, "nodeType": "YulFunctionCall", - "src": "18349:47:14" + "src": "15327:47:17" }, "nodeType": "YulExpressionStatement", - "src": "18349:47:14" + "src": "15327:47:17" }, { "nodeType": "YulAssignment", - "src": "18405:139:14", + "src": "15383:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18539:4:14" + "src": "15517:4:17" } ], "functionName": { - "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18413:124:14" + "src": "15391:124:17" }, "nodeType": "YulFunctionCall", - "src": "18413:131:14" + "src": "15391:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18405:4:14" + "src": "15383:4:17" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18283:9:14", + "src": "15261:9:17", "type": "" } ], @@ -12935,16 +11414,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18298:4:14", + "src": "15276:4:17", "type": "" } ], - "src": "18132:419:14" + "src": "15110:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "18663:114:14", + "src": "15641:114:17", "statements": [ { "expression": { @@ -12954,12 +11433,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18685:6:14" + "src": "15663:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18693:1:14", + "src": "15671:1:17", "type": "", "value": "0" } @@ -12967,16 +11446,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18681:3:14" + "src": "15659:3:17" }, "nodeType": "YulFunctionCall", - "src": "18681:14:14" + "src": "15659:14:17" }, { "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", "kind": "string", "nodeType": "YulLiteral", - "src": "18697:34:14", + "src": "15675:34:17", "type": "", "value": "ERC721: approval to current owne" } @@ -12984,13 +11463,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18674:6:14" + "src": "15652:6:17" }, "nodeType": "YulFunctionCall", - "src": "18674:58:14" + "src": "15652:58:17" }, "nodeType": "YulExpressionStatement", - "src": "18674:58:14" + "src": "15652:58:17" }, { "expression": { @@ -13000,12 +11479,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18753:6:14" + "src": "15731:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18761:2:14", + "src": "15739:2:17", "type": "", "value": "32" } @@ -13013,16 +11492,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18749:3:14" + "src": "15727:3:17" }, "nodeType": "YulFunctionCall", - "src": "18749:15:14" + "src": "15727:15:17" }, { "hexValue": "72", "kind": "string", "nodeType": "YulLiteral", - "src": "18766:3:14", + "src": "15744:3:17", "type": "", "value": "r" } @@ -13030,13 +11509,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18742:6:14" + "src": "15720:6:17" }, "nodeType": "YulFunctionCall", - "src": "18742:28:14" + "src": "15720:28:17" }, "nodeType": "YulExpressionStatement", - "src": "18742:28:14" + "src": "15720:28:17" } ] }, @@ -13046,31 +11525,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18655:6:14", + "src": "15633:6:17", "type": "" } ], - "src": "18557:220:14" + "src": "15535:220:17" }, { "body": { "nodeType": "YulBlock", - "src": "18929:220:14", + "src": "15907:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "18939:74:14", + "src": "15917:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19005:3:14" + "src": "15983:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19010:2:14", + "src": "15988:2:17", "type": "", "value": "33" } @@ -13078,16 +11557,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18946:58:14" + "src": "15924:58:17" }, "nodeType": "YulFunctionCall", - "src": "18946:67:14" + "src": "15924:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18939:3:14" + "src": "15917:3:17" } ] }, @@ -13097,34 +11576,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19111:3:14" + "src": "16089:3:17" } ], "functionName": { "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", "nodeType": "YulIdentifier", - "src": "19022:88:14" + "src": "16000:88:17" }, "nodeType": "YulFunctionCall", - "src": "19022:93:14" + "src": "16000:93:17" }, "nodeType": "YulExpressionStatement", - "src": "19022:93:14" + "src": "16000:93:17" }, { "nodeType": "YulAssignment", - "src": "19124:19:14", + "src": "16102:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19135:3:14" + "src": "16113:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19140:2:14", + "src": "16118:2:17", "type": "", "value": "64" } @@ -13132,16 +11611,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19131:3:14" + "src": "16109:3:17" }, "nodeType": "YulFunctionCall", - "src": "19131:12:14" + "src": "16109:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19124:3:14" + "src": "16102:3:17" } ] } @@ -13153,7 +11632,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18917:3:14", + "src": "15895:3:17", "type": "" } ], @@ -13161,31 +11640,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18925:3:14", + "src": "15903:3:17", "type": "" } ], - "src": "18783:366:14" + "src": "15761:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "19326:248:14", + "src": "16304:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "19336:26:14", + "src": "16314:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19348:9:14" + "src": "16326:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19359:2:14", + "src": "16337:2:17", "type": "", "value": "32" } @@ -13193,16 +11672,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19344:3:14" + "src": "16322:3:17" }, "nodeType": "YulFunctionCall", - "src": "19344:18:14" + "src": "16322:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19336:4:14" + "src": "16314:4:17" } ] }, @@ -13214,12 +11693,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19383:9:14" + "src": "16361:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19394:1:14", + "src": "16372:1:17", "type": "", "value": "0" } @@ -13227,68 +11706,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19379:3:14" + "src": "16357:3:17" }, "nodeType": "YulFunctionCall", - "src": "19379:17:14" + "src": "16357:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19402:4:14" + "src": "16380:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19408:9:14" + "src": "16386:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19398:3:14" + "src": "16376:3:17" }, "nodeType": "YulFunctionCall", - "src": "19398:20:14" + "src": "16376:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19372:6:14" + "src": "16350:6:17" }, "nodeType": "YulFunctionCall", - "src": "19372:47:14" + "src": "16350:47:17" }, "nodeType": "YulExpressionStatement", - "src": "19372:47:14" + "src": "16350:47:17" }, { "nodeType": "YulAssignment", - "src": "19428:139:14", + "src": "16406:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19562:4:14" + "src": "16540:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19436:124:14" + "src": "16414:124:17" }, "nodeType": "YulFunctionCall", - "src": "19436:131:14" + "src": "16414:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19428:4:14" + "src": "16406:4:17" } ] } @@ -13300,7 +11779,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19306:9:14", + "src": "16284:9:17", "type": "" } ], @@ -13308,16 +11787,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19321:4:14", + "src": "16299:4:17", "type": "" } ], - "src": "19155:419:14" + "src": "16133:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "19686:137:14", + "src": "16664:142:17", "statements": [ { "expression": { @@ -13327,12 +11806,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19708:6:14" + "src": "16686:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19716:1:14", + "src": "16694:1:17", "type": "", "value": "0" } @@ -13340,30 +11819,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19704:3:14" + "src": "16682:3:17" }, "nodeType": "YulFunctionCall", - "src": "19704:14:14" + "src": "16682:14:17" }, { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", "kind": "string", "nodeType": "YulLiteral", - "src": "19720:34:14", + "src": "16698:34:17", "type": "", - "value": "ERC721: approve caller is not ow" + "value": "ERC721: approve caller is not to" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19697:6:14" + "src": "16675:6:17" }, "nodeType": "YulFunctionCall", - "src": "19697:58:14" + "src": "16675:58:17" }, "nodeType": "YulExpressionStatement", - "src": "19697:58:14" + "src": "16675:58:17" }, { "expression": { @@ -13373,12 +11852,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19776:6:14" + "src": "16754:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19784:2:14", + "src": "16762:2:17", "type": "", "value": "32" } @@ -13386,81 +11865,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19772:3:14" + "src": "16750:3:17" }, "nodeType": "YulFunctionCall", - "src": "19772:15:14" + "src": "16750:15:17" }, { - "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "19789:26:14", + "src": "16767:31:17", "type": "", - "value": "ner nor approved for all" + "value": "ken owner or approved for all" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19765:6:14" + "src": "16743:6:17" }, "nodeType": "YulFunctionCall", - "src": "19765:51:14" + "src": "16743:56:17" }, "nodeType": "YulExpressionStatement", - "src": "19765:51:14" + "src": "16743:56:17" } ] }, - "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19678:6:14", + "src": "16656:6:17", "type": "" } ], - "src": "19580:243:14" + "src": "16558:248:17" }, { "body": { "nodeType": "YulBlock", - "src": "19975:220:14", + "src": "16958:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "19985:74:14", + "src": "16968:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20051:3:14" + "src": "17034:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20056:2:14", + "src": "17039:2:17", "type": "", - "value": "56" + "value": "61" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19992:58:14" + "src": "16975:58:17" }, "nodeType": "YulFunctionCall", - "src": "19992:67:14" + "src": "16975:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19985:3:14" + "src": "16968:3:17" } ] }, @@ -13470,34 +11949,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20157:3:14" + "src": "17140:3:17" } ], "functionName": { - "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", "nodeType": "YulIdentifier", - "src": "20068:88:14" + "src": "17051:88:17" }, "nodeType": "YulFunctionCall", - "src": "20068:93:14" + "src": "17051:93:17" }, "nodeType": "YulExpressionStatement", - "src": "20068:93:14" + "src": "17051:93:17" }, { "nodeType": "YulAssignment", - "src": "20170:19:14", + "src": "17153:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20181:3:14" + "src": "17164:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20186:2:14", + "src": "17169:2:17", "type": "", "value": "64" } @@ -13505,28 +11984,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20177:3:14" + "src": "17160:3:17" }, "nodeType": "YulFunctionCall", - "src": "20177:12:14" + "src": "17160:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20170:3:14" + "src": "17153:3:17" } ] } ] }, - "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "19963:3:14", + "src": "16946:3:17", "type": "" } ], @@ -13534,31 +12013,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19971:3:14", + "src": "16954:3:17", "type": "" } ], - "src": "19829:366:14" + "src": "16812:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "20372:248:14", + "src": "17355:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "20382:26:14", + "src": "17365:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20394:9:14" + "src": "17377:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20405:2:14", + "src": "17388:2:17", "type": "", "value": "32" } @@ -13566,16 +12045,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20390:3:14" + "src": "17373:3:17" }, "nodeType": "YulFunctionCall", - "src": "20390:18:14" + "src": "17373:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20382:4:14" + "src": "17365:4:17" } ] }, @@ -13587,12 +12066,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20429:9:14" + "src": "17412:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20440:1:14", + "src": "17423:1:17", "type": "", "value": "0" } @@ -13600,80 +12079,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20425:3:14" + "src": "17408:3:17" }, "nodeType": "YulFunctionCall", - "src": "20425:17:14" + "src": "17408:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20448:4:14" + "src": "17431:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20454:9:14" + "src": "17437:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20444:3:14" + "src": "17427:3:17" }, "nodeType": "YulFunctionCall", - "src": "20444:20:14" + "src": "17427:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20418:6:14" + "src": "17401:6:17" }, "nodeType": "YulFunctionCall", - "src": "20418:47:14" + "src": "17401:47:17" }, "nodeType": "YulExpressionStatement", - "src": "20418:47:14" + "src": "17401:47:17" }, { "nodeType": "YulAssignment", - "src": "20474:139:14", + "src": "17457:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20608:4:14" + "src": "17591:4:17" } ], "functionName": { - "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20482:124:14" + "src": "17465:124:17" }, "nodeType": "YulFunctionCall", - "src": "20482:131:14" + "src": "17465:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20474:4:14" + "src": "17457:4:17" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20352:9:14", + "src": "17335:9:17", "type": "" } ], @@ -13681,16 +12160,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20367:4:14", + "src": "17350:4:17", "type": "" } ], - "src": "20201:419:14" + "src": "17184:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "20732:130:14", + "src": "17715:126:17", "statements": [ { "expression": { @@ -13700,12 +12179,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20754:6:14" + "src": "17737:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20762:1:14", + "src": "17745:1:17", "type": "", "value": "0" } @@ -13713,30 +12192,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20750:3:14" + "src": "17733:3:17" }, "nodeType": "YulFunctionCall", - "src": "20750:14:14" + "src": "17733:14:17" }, { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", "kind": "string", "nodeType": "YulLiteral", - "src": "20766:34:14", + "src": "17749:34:17", "type": "", - "value": "ERC721: transfer caller is not o" + "value": "ERC721: caller is not token owne" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20743:6:14" + "src": "17726:6:17" }, "nodeType": "YulFunctionCall", - "src": "20743:58:14" + "src": "17726:58:17" }, "nodeType": "YulExpressionStatement", - "src": "20743:58:14" + "src": "17726:58:17" }, { "expression": { @@ -13746,12 +12225,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20822:6:14" + "src": "17805:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20830:2:14", + "src": "17813:2:17", "type": "", "value": "32" } @@ -13759,81 +12238,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20818:3:14" + "src": "17801:3:17" }, "nodeType": "YulFunctionCall", - "src": "20818:15:14" + "src": "17801:15:17" }, { - "hexValue": "776e6572206e6f7220617070726f766564", + "hexValue": "72206f7220617070726f766564", "kind": "string", "nodeType": "YulLiteral", - "src": "20835:19:14", + "src": "17818:15:17", "type": "", - "value": "wner nor approved" + "value": "r or approved" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20811:6:14" + "src": "17794:6:17" }, "nodeType": "YulFunctionCall", - "src": "20811:44:14" + "src": "17794:40:17" }, "nodeType": "YulExpressionStatement", - "src": "20811:44:14" + "src": "17794:40:17" } ] }, - "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20724:6:14", + "src": "17707:6:17", "type": "" } ], - "src": "20626:236:14" + "src": "17609:232:17" }, { "body": { "nodeType": "YulBlock", - "src": "21014:220:14", + "src": "17993:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "21024:74:14", + "src": "18003:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21090:3:14" + "src": "18069:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21095:2:14", + "src": "18074:2:17", "type": "", - "value": "49" + "value": "45" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21031:58:14" + "src": "18010:58:17" }, "nodeType": "YulFunctionCall", - "src": "21031:67:14" + "src": "18010:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21024:3:14" + "src": "18003:3:17" } ] }, @@ -13843,34 +12322,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21196:3:14" + "src": "18175:3:17" } ], "functionName": { - "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "nodeType": "YulIdentifier", - "src": "21107:88:14" + "src": "18086:88:17" }, "nodeType": "YulFunctionCall", - "src": "21107:93:14" + "src": "18086:93:17" }, "nodeType": "YulExpressionStatement", - "src": "21107:93:14" + "src": "18086:93:17" }, { "nodeType": "YulAssignment", - "src": "21209:19:14", + "src": "18188:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21220:3:14" + "src": "18199:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21225:2:14", + "src": "18204:2:17", "type": "", "value": "64" } @@ -13878,28 +12357,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21216:3:14" + "src": "18195:3:17" }, "nodeType": "YulFunctionCall", - "src": "21216:12:14" + "src": "18195:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "21209:3:14" + "src": "18188:3:17" } ] } ] }, - "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "21002:3:14", + "src": "17981:3:17", "type": "" } ], @@ -13907,31 +12386,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "21010:3:14", + "src": "17989:3:17", "type": "" } ], - "src": "20868:366:14" + "src": "17847:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "21411:248:14", + "src": "18390:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "21421:26:14", + "src": "18400:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21433:9:14" + "src": "18412:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21444:2:14", + "src": "18423:2:17", "type": "", "value": "32" } @@ -13939,16 +12418,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21429:3:14" + "src": "18408:3:17" }, "nodeType": "YulFunctionCall", - "src": "21429:18:14" + "src": "18408:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21421:4:14" + "src": "18400:4:17" } ] }, @@ -13960,12 +12439,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21468:9:14" + "src": "18447:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21479:1:14", + "src": "18458:1:17", "type": "", "value": "0" } @@ -13973,80 +12452,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21464:3:14" + "src": "18443:3:17" }, "nodeType": "YulFunctionCall", - "src": "21464:17:14" + "src": "18443:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21487:4:14" + "src": "18466:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21493:9:14" + "src": "18472:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21483:3:14" + "src": "18462:3:17" }, "nodeType": "YulFunctionCall", - "src": "21483:20:14" + "src": "18462:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21457:6:14" + "src": "18436:6:17" }, "nodeType": "YulFunctionCall", - "src": "21457:47:14" + "src": "18436:47:17" }, "nodeType": "YulExpressionStatement", - "src": "21457:47:14" + "src": "18436:47:17" }, { "nodeType": "YulAssignment", - "src": "21513:139:14", + "src": "18492:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21647:4:14" + "src": "18626:4:17" } ], "functionName": { - "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21521:124:14" + "src": "18500:124:17" }, "nodeType": "YulFunctionCall", - "src": "21521:131:14" + "src": "18500:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21513:4:14" + "src": "18492:4:17" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21391:9:14", + "src": "18370:9:17", "type": "" } ], @@ -14054,16 +12533,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21406:4:14", + "src": "18385:4:17", "type": "" } ], - "src": "21240:419:14" + "src": "18219:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "21771:124:14", + "src": "18750:124:17", "statements": [ { "expression": { @@ -14073,12 +12552,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21793:6:14" + "src": "18772:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21801:1:14", + "src": "18780:1:17", "type": "", "value": "0" } @@ -14086,16 +12565,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21789:3:14" + "src": "18768:3:17" }, "nodeType": "YulFunctionCall", - "src": "21789:14:14" + "src": "18768:14:17" }, { "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", "kind": "string", "nodeType": "YulLiteral", - "src": "21805:34:14", + "src": "18784:34:17", "type": "", "value": "ERC721Enumerable: owner index ou" } @@ -14103,13 +12582,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21782:6:14" + "src": "18761:6:17" }, "nodeType": "YulFunctionCall", - "src": "21782:58:14" + "src": "18761:58:17" }, "nodeType": "YulExpressionStatement", - "src": "21782:58:14" + "src": "18761:58:17" }, { "expression": { @@ -14119,12 +12598,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21861:6:14" + "src": "18840:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21869:2:14", + "src": "18848:2:17", "type": "", "value": "32" } @@ -14132,16 +12611,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21857:3:14" + "src": "18836:3:17" }, "nodeType": "YulFunctionCall", - "src": "21857:15:14" + "src": "18836:15:17" }, { "hexValue": "74206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "21874:13:14", + "src": "18853:13:17", "type": "", "value": "t of bounds" } @@ -14149,13 +12628,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21850:6:14" + "src": "18829:6:17" }, "nodeType": "YulFunctionCall", - "src": "21850:38:14" + "src": "18829:38:17" }, "nodeType": "YulExpressionStatement", - "src": "21850:38:14" + "src": "18829:38:17" } ] }, @@ -14165,31 +12644,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "21763:6:14", + "src": "18742:6:17", "type": "" } ], - "src": "21665:230:14" + "src": "18644:230:17" }, { "body": { "nodeType": "YulBlock", - "src": "22047:220:14", + "src": "19026:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "22057:74:14", + "src": "19036:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22123:3:14" + "src": "19102:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22128:2:14", + "src": "19107:2:17", "type": "", "value": "43" } @@ -14197,16 +12676,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22064:58:14" + "src": "19043:58:17" }, "nodeType": "YulFunctionCall", - "src": "22064:67:14" + "src": "19043:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22057:3:14" + "src": "19036:3:17" } ] }, @@ -14216,34 +12695,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22229:3:14" + "src": "19208:3:17" } ], "functionName": { "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "nodeType": "YulIdentifier", - "src": "22140:88:14" + "src": "19119:88:17" }, "nodeType": "YulFunctionCall", - "src": "22140:93:14" + "src": "19119:93:17" }, "nodeType": "YulExpressionStatement", - "src": "22140:93:14" + "src": "19119:93:17" }, { "nodeType": "YulAssignment", - "src": "22242:19:14", + "src": "19221:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22253:3:14" + "src": "19232:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22258:2:14", + "src": "19237:2:17", "type": "", "value": "64" } @@ -14251,16 +12730,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22249:3:14" + "src": "19228:3:17" }, "nodeType": "YulFunctionCall", - "src": "22249:12:14" + "src": "19228:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22242:3:14" + "src": "19221:3:17" } ] } @@ -14272,7 +12751,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22035:3:14", + "src": "19014:3:17", "type": "" } ], @@ -14280,31 +12759,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22043:3:14", + "src": "19022:3:17", "type": "" } ], - "src": "21901:366:14" + "src": "18880:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "22444:248:14", + "src": "19423:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "22454:26:14", + "src": "19433:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22466:9:14" + "src": "19445:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22477:2:14", + "src": "19456:2:17", "type": "", "value": "32" } @@ -14312,16 +12791,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22462:3:14" + "src": "19441:3:17" }, "nodeType": "YulFunctionCall", - "src": "22462:18:14" + "src": "19441:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22454:4:14" + "src": "19433:4:17" } ] }, @@ -14333,12 +12812,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22501:9:14" + "src": "19480:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22512:1:14", + "src": "19491:1:17", "type": "", "value": "0" } @@ -14346,68 +12825,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22497:3:14" + "src": "19476:3:17" }, "nodeType": "YulFunctionCall", - "src": "22497:17:14" + "src": "19476:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22520:4:14" + "src": "19499:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22526:9:14" + "src": "19505:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22516:3:14" + "src": "19495:3:17" }, "nodeType": "YulFunctionCall", - "src": "22516:20:14" + "src": "19495:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22490:6:14" + "src": "19469:6:17" }, "nodeType": "YulFunctionCall", - "src": "22490:47:14" + "src": "19469:47:17" }, "nodeType": "YulExpressionStatement", - "src": "22490:47:14" + "src": "19469:47:17" }, { "nodeType": "YulAssignment", - "src": "22546:139:14", + "src": "19525:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22680:4:14" + "src": "19659:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22554:124:14" + "src": "19533:124:17" }, "nodeType": "YulFunctionCall", - "src": "22554:131:14" + "src": "19533:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22546:4:14" + "src": "19525:4:17" } ] } @@ -14419,7 +12898,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22424:9:14", + "src": "19403:9:17", "type": "" } ], @@ -14427,16 +12906,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22439:4:14", + "src": "19418:4:17", "type": "" } ], - "src": "22273:419:14" + "src": "19252:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "22804:128:14", + "src": "19783:128:17", "statements": [ { "expression": { @@ -14446,12 +12925,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22826:6:14" + "src": "19805:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22834:1:14", + "src": "19813:1:17", "type": "", "value": "0" } @@ -14459,16 +12938,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22822:3:14" + "src": "19801:3:17" }, "nodeType": "YulFunctionCall", - "src": "22822:14:14" + "src": "19801:14:17" }, { "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "22838:34:14", + "src": "19817:34:17", "type": "", "value": "AccessControl: can only renounce" } @@ -14476,13 +12955,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22815:6:14" + "src": "19794:6:17" }, "nodeType": "YulFunctionCall", - "src": "22815:58:14" + "src": "19794:58:17" }, "nodeType": "YulExpressionStatement", - "src": "22815:58:14" + "src": "19794:58:17" }, { "expression": { @@ -14492,12 +12971,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22894:6:14" + "src": "19873:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22902:2:14", + "src": "19881:2:17", "type": "", "value": "32" } @@ -14505,16 +12984,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22890:3:14" + "src": "19869:3:17" }, "nodeType": "YulFunctionCall", - "src": "22890:15:14" + "src": "19869:15:17" }, { "hexValue": "20726f6c657320666f722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "22907:17:14", + "src": "19886:17:17", "type": "", "value": " roles for self" } @@ -14522,13 +13001,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22883:6:14" + "src": "19862:6:17" }, "nodeType": "YulFunctionCall", - "src": "22883:42:14" + "src": "19862:42:17" }, "nodeType": "YulExpressionStatement", - "src": "22883:42:14" + "src": "19862:42:17" } ] }, @@ -14538,31 +13017,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "22796:6:14", + "src": "19775:6:17", "type": "" } ], - "src": "22698:234:14" + "src": "19677:234:17" }, { "body": { "nodeType": "YulBlock", - "src": "23084:220:14", + "src": "20063:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "23094:74:14", + "src": "20073:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23160:3:14" + "src": "20139:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23165:2:14", + "src": "20144:2:17", "type": "", "value": "47" } @@ -14570,16 +13049,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23101:58:14" + "src": "20080:58:17" }, "nodeType": "YulFunctionCall", - "src": "23101:67:14" + "src": "20080:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23094:3:14" + "src": "20073:3:17" } ] }, @@ -14589,34 +13068,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23266:3:14" + "src": "20245:3:17" } ], "functionName": { "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", "nodeType": "YulIdentifier", - "src": "23177:88:14" + "src": "20156:88:17" }, "nodeType": "YulFunctionCall", - "src": "23177:93:14" + "src": "20156:93:17" }, "nodeType": "YulExpressionStatement", - "src": "23177:93:14" + "src": "20156:93:17" }, { "nodeType": "YulAssignment", - "src": "23279:19:14", + "src": "20258:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23290:3:14" + "src": "20269:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23295:2:14", + "src": "20274:2:17", "type": "", "value": "64" } @@ -14624,16 +13103,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23286:3:14" + "src": "20265:3:17" }, "nodeType": "YulFunctionCall", - "src": "23286:12:14" + "src": "20265:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "23279:3:14" + "src": "20258:3:17" } ] } @@ -14645,7 +13124,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23072:3:14", + "src": "20051:3:17", "type": "" } ], @@ -14653,31 +13132,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23080:3:14", + "src": "20059:3:17", "type": "" } ], - "src": "22938:366:14" + "src": "19917:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "23481:248:14", + "src": "20460:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "23491:26:14", + "src": "20470:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23503:9:14" + "src": "20482:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23514:2:14", + "src": "20493:2:17", "type": "", "value": "32" } @@ -14685,16 +13164,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23499:3:14" + "src": "20478:3:17" }, "nodeType": "YulFunctionCall", - "src": "23499:18:14" + "src": "20478:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23491:4:14" + "src": "20470:4:17" } ] }, @@ -14706,12 +13185,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23538:9:14" + "src": "20517:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23549:1:14", + "src": "20528:1:17", "type": "", "value": "0" } @@ -14719,68 +13198,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23534:3:14" + "src": "20513:3:17" }, "nodeType": "YulFunctionCall", - "src": "23534:17:14" + "src": "20513:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23557:4:14" + "src": "20536:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23563:9:14" + "src": "20542:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23553:3:14" + "src": "20532:3:17" }, "nodeType": "YulFunctionCall", - "src": "23553:20:14" + "src": "20532:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23527:6:14" + "src": "20506:6:17" }, "nodeType": "YulFunctionCall", - "src": "23527:47:14" + "src": "20506:47:17" }, "nodeType": "YulExpressionStatement", - "src": "23527:47:14" + "src": "20506:47:17" }, { "nodeType": "YulAssignment", - "src": "23583:139:14", + "src": "20562:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23717:4:14" + "src": "20696:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23591:124:14" + "src": "20570:124:17" }, "nodeType": "YulFunctionCall", - "src": "23591:131:14" + "src": "20570:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23583:4:14" + "src": "20562:4:17" } ] } @@ -14792,7 +13271,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "23461:9:14", + "src": "20440:9:17", "type": "" } ], @@ -14800,16 +13279,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "23476:4:14", + "src": "20455:4:17", "type": "" } ], - "src": "23310:419:14" + "src": "20289:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "23841:61:14", + "src": "20820:62:17", "statements": [ { "expression": { @@ -14819,12 +13298,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23863:6:14" + "src": "20842:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23871:1:14", + "src": "20850:1:17", "type": "", "value": "0" } @@ -14832,81 +13311,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23859:3:14" + "src": "20838:3:17" }, "nodeType": "YulFunctionCall", - "src": "23859:14:14" + "src": "20838:14:17" }, { - "hexValue": "746f6b656e49647320746f6f206d616e79", + "hexValue": "746f6b656e49647320746f6f20736d616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "23875:19:14", + "src": "20854:20:17", "type": "", - "value": "tokenIds too many" + "value": "tokenIds too small" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23852:6:14" + "src": "20831:6:17" }, "nodeType": "YulFunctionCall", - "src": "23852:43:14" + "src": "20831:44:17" }, "nodeType": "YulExpressionStatement", - "src": "23852:43:14" + "src": "20831:44:17" } ] }, - "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23833:6:14", + "src": "20812:6:17", "type": "" } ], - "src": "23735:167:14" + "src": "20714:168:17" }, { "body": { "nodeType": "YulBlock", - "src": "24054:220:14", + "src": "21034:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "24064:74:14", + "src": "21044:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24130:3:14" + "src": "21110:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24135:2:14", + "src": "21115:2:17", "type": "", - "value": "17" + "value": "18" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24071:58:14" + "src": "21051:58:17" }, "nodeType": "YulFunctionCall", - "src": "24071:67:14" + "src": "21051:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24064:3:14" + "src": "21044:3:17" } ] }, @@ -14916,34 +13395,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24236:3:14" + "src": "21216:3:17" } ], "functionName": { - "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", "nodeType": "YulIdentifier", - "src": "24147:88:14" + "src": "21127:88:17" }, "nodeType": "YulFunctionCall", - "src": "24147:93:14" + "src": "21127:93:17" }, "nodeType": "YulExpressionStatement", - "src": "24147:93:14" + "src": "21127:93:17" }, { "nodeType": "YulAssignment", - "src": "24249:19:14", + "src": "21229:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24260:3:14" + "src": "21240:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24265:2:14", + "src": "21245:2:17", "type": "", "value": "32" } @@ -14951,16 +13430,343 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24256:3:14" + "src": "21236:3:17" }, "nodeType": "YulFunctionCall", - "src": "24256:12:14" + "src": "21236:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24249:3:14" + "src": "21229:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21022:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21030:3:17", + "type": "" + } + ], + "src": "20888:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21431:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21441:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21453:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21464:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21449:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21449:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21441:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21488:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21499:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21484:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21484:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21507:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21513:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21503:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21503:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21477:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21477:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21477:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "21533:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21667:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21541:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "21541:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21533:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21411:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21426:4:17", + "type": "" + } + ], + "src": "21260:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21791:61:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21813:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21821:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21809:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21809:14:17" + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21825:19:17", + "type": "", + "value": "tokenIds too many" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21802:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21802:43:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21802:43:17" + } + ] + }, + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21783:6:17", + "type": "" + } + ], + "src": "21685:167:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22004:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22014:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22080:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22085:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22021:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "22021:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22014:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22186:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulIdentifier", + "src": "22097:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "22097:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22097:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "22199:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22210:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22215:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22206:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22206:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22199:3:17" } ] } @@ -14972,7 +13778,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24042:3:14", + "src": "21992:3:17", "type": "" } ], @@ -14980,31 +13786,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24050:3:14", + "src": "22000:3:17", "type": "" } ], - "src": "23908:366:14" + "src": "21858:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "24451:248:14", + "src": "22401:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "24461:26:14", + "src": "22411:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24473:9:14" + "src": "22423:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24484:2:14", + "src": "22434:2:17", "type": "", "value": "32" } @@ -15012,16 +13818,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24469:3:14" + "src": "22419:3:17" }, "nodeType": "YulFunctionCall", - "src": "24469:18:14" + "src": "22419:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24461:4:14" + "src": "22411:4:17" } ] }, @@ -15033,12 +13839,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24508:9:14" + "src": "22458:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24519:1:14", + "src": "22469:1:17", "type": "", "value": "0" } @@ -15046,68 +13852,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24504:3:14" + "src": "22454:3:17" }, "nodeType": "YulFunctionCall", - "src": "24504:17:14" + "src": "22454:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24527:4:14" + "src": "22477:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24533:9:14" + "src": "22483:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24523:3:14" + "src": "22473:3:17" }, "nodeType": "YulFunctionCall", - "src": "24523:20:14" + "src": "22473:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24497:6:14" + "src": "22447:6:17" }, "nodeType": "YulFunctionCall", - "src": "24497:47:14" + "src": "22447:47:17" }, "nodeType": "YulExpressionStatement", - "src": "24497:47:14" + "src": "22447:47:17" }, { "nodeType": "YulAssignment", - "src": "24553:139:14", + "src": "22503:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24687:4:14" + "src": "22637:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24561:124:14" + "src": "22511:124:17" }, "nodeType": "YulFunctionCall", - "src": "24561:131:14" + "src": "22511:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24553:4:14" + "src": "22503:4:17" } ] } @@ -15119,7 +13925,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "24431:9:14", + "src": "22381:9:17", "type": "" } ], @@ -15127,16 +13933,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "24446:4:14", + "src": "22396:4:17", "type": "" } ], - "src": "24280:419:14" + "src": "22230:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "24733:152:14", + "src": "22683:152:17", "statements": [ { "expression": { @@ -15144,14 +13950,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24750:1:14", + "src": "22700:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24753:77:14", + "src": "22703:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -15159,13 +13965,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24743:6:14" + "src": "22693:6:17" }, "nodeType": "YulFunctionCall", - "src": "24743:88:14" + "src": "22693:88:17" }, "nodeType": "YulExpressionStatement", - "src": "24743:88:14" + "src": "22693:88:17" }, { "expression": { @@ -15173,14 +13979,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24847:1:14", + "src": "22797:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24850:4:14", + "src": "22800:4:17", "type": "", "value": "0x11" } @@ -15188,13 +13994,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24840:6:14" + "src": "22790:6:17" }, "nodeType": "YulFunctionCall", - "src": "24840:15:14" + "src": "22790:15:17" }, "nodeType": "YulExpressionStatement", - "src": "24840:15:14" + "src": "22790:15:17" }, { "expression": { @@ -15202,14 +14008,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24871:1:14", + "src": "22821:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24874:4:14", + "src": "22824:4:17", "type": "", "value": "0x24" } @@ -15217,83 +14023,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "24864:6:14" + "src": "22814:6:17" }, "nodeType": "YulFunctionCall", - "src": "24864:15:14" + "src": "22814:15:17" }, "nodeType": "YulExpressionStatement", - "src": "24864:15:14" + "src": "22814:15:17" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "24705:180:14" + "src": "22655:180:17" }, { "body": { "nodeType": "YulBlock", - "src": "24935:261:14", + "src": "22885:261:17", "statements": [ { "nodeType": "YulAssignment", - "src": "24945:25:14", + "src": "22895:25:17", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24968:1:14" + "src": "22918:1:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24950:17:14" + "src": "22900:17:17" }, "nodeType": "YulFunctionCall", - "src": "24950:20:14" + "src": "22900:20:17" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24945:1:14" + "src": "22895:1:17" } ] }, { "nodeType": "YulAssignment", - "src": "24979:25:14", + "src": "22929:25:17", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "25002:1:14" + "src": "22952:1:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24984:17:14" + "src": "22934:17:17" }, "nodeType": "YulFunctionCall", - "src": "24984:20:14" + "src": "22934:20:17" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "24979:1:14" + "src": "22929:1:17" } ] }, { "body": { "nodeType": "YulBlock", - "src": "25142:22:14", + "src": "23092:22:17", "statements": [ { "expression": { @@ -15301,13 +14107,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "25144:16:14" + "src": "23094:16:17" }, "nodeType": "YulFunctionCall", - "src": "25144:18:14" + "src": "23094:18:17" }, "nodeType": "YulExpressionStatement", - "src": "25144:18:14" + "src": "23094:18:17" } ] }, @@ -15316,72 +14122,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "25063:1:14" + "src": "23013:1:17" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "25070:66:14", + "src": "23020:66:17", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "25138:1:14" + "src": "23088:1:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25066:3:14" + "src": "23016:3:17" }, "nodeType": "YulFunctionCall", - "src": "25066:74:14" + "src": "23016:74:17" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "25060:2:14" + "src": "23010:2:17" }, "nodeType": "YulFunctionCall", - "src": "25060:81:14" + "src": "23010:81:17" }, "nodeType": "YulIf", - "src": "25057:107:14" + "src": "23007:107:17" }, { "nodeType": "YulAssignment", - "src": "25174:16:14", + "src": "23124:16:17", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "25185:1:14" + "src": "23135:1:17" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "25188:1:14" + "src": "23138:1:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25181:3:14" + "src": "23131:3:17" }, "nodeType": "YulFunctionCall", - "src": "25181:9:14" + "src": "23131:9:17" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "25174:3:14" + "src": "23124:3:17" } ] } @@ -15393,13 +14199,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "24922:1:14", + "src": "22872:1:17", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "24925:1:14", + "src": "22875:1:17", "type": "" } ], @@ -15407,16 +14213,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "24931:3:14", + "src": "22881:3:17", "type": "" } ], - "src": "24891:305:14" + "src": "22841:305:17" }, { "body": { "nodeType": "YulBlock", - "src": "25308:67:14", + "src": "23258:67:17", "statements": [ { "expression": { @@ -15426,12 +14232,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25330:6:14" + "src": "23280:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25338:1:14", + "src": "23288:1:17", "type": "", "value": "0" } @@ -15439,16 +14245,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25326:3:14" + "src": "23276:3:17" }, "nodeType": "YulFunctionCall", - "src": "25326:14:14" + "src": "23276:14:17" }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", "kind": "string", "nodeType": "YulLiteral", - "src": "25342:25:14", + "src": "23292:25:17", "type": "", "value": "Exceed the total supply" } @@ -15456,13 +14262,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25319:6:14" + "src": "23269:6:17" }, "nodeType": "YulFunctionCall", - "src": "25319:49:14" + "src": "23269:49:17" }, "nodeType": "YulExpressionStatement", - "src": "25319:49:14" + "src": "23269:49:17" } ] }, @@ -15472,31 +14278,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25300:6:14", + "src": "23250:6:17", "type": "" } ], - "src": "25202:173:14" + "src": "23152:173:17" }, { "body": { "nodeType": "YulBlock", - "src": "25527:220:14", + "src": "23477:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "25537:74:14", + "src": "23487:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25603:3:14" + "src": "23553:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25608:2:14", + "src": "23558:2:17", "type": "", "value": "23" } @@ -15504,16 +14310,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25544:58:14" + "src": "23494:58:17" }, "nodeType": "YulFunctionCall", - "src": "25544:67:14" + "src": "23494:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25537:3:14" + "src": "23487:3:17" } ] }, @@ -15523,34 +14329,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25709:3:14" + "src": "23659:3:17" } ], "functionName": { "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "nodeType": "YulIdentifier", - "src": "25620:88:14" + "src": "23570:88:17" }, "nodeType": "YulFunctionCall", - "src": "25620:93:14" + "src": "23570:93:17" }, "nodeType": "YulExpressionStatement", - "src": "25620:93:14" + "src": "23570:93:17" }, { "nodeType": "YulAssignment", - "src": "25722:19:14", + "src": "23672:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25733:3:14" + "src": "23683:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25738:2:14", + "src": "23688:2:17", "type": "", "value": "32" } @@ -15558,16 +14364,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25729:3:14" + "src": "23679:3:17" }, "nodeType": "YulFunctionCall", - "src": "25729:12:14" + "src": "23679:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25722:3:14" + "src": "23672:3:17" } ] } @@ -15579,7 +14385,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "25515:3:14", + "src": "23465:3:17", "type": "" } ], @@ -15587,31 +14393,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25523:3:14", + "src": "23473:3:17", "type": "" } ], - "src": "25381:366:14" + "src": "23331:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "25924:248:14", + "src": "23874:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "25934:26:14", + "src": "23884:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25946:9:14" + "src": "23896:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25957:2:14", + "src": "23907:2:17", "type": "", "value": "32" } @@ -15619,16 +14425,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25942:3:14" + "src": "23892:3:17" }, "nodeType": "YulFunctionCall", - "src": "25942:18:14" + "src": "23892:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25934:4:14" + "src": "23884:4:17" } ] }, @@ -15640,12 +14446,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25981:9:14" + "src": "23931:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25992:1:14", + "src": "23942:1:17", "type": "", "value": "0" } @@ -15653,68 +14459,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25977:3:14" + "src": "23927:3:17" }, "nodeType": "YulFunctionCall", - "src": "25977:17:14" + "src": "23927:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26000:4:14" + "src": "23950:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26006:9:14" + "src": "23956:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25996:3:14" + "src": "23946:3:17" }, "nodeType": "YulFunctionCall", - "src": "25996:20:14" + "src": "23946:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25970:6:14" + "src": "23920:6:17" }, "nodeType": "YulFunctionCall", - "src": "25970:47:14" + "src": "23920:47:17" }, "nodeType": "YulExpressionStatement", - "src": "25970:47:14" + "src": "23920:47:17" }, { "nodeType": "YulAssignment", - "src": "26026:139:14", + "src": "23976:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26160:4:14" + "src": "24110:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26034:124:14" + "src": "23984:124:17" }, "nodeType": "YulFunctionCall", - "src": "26034:131:14" + "src": "23984:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26026:4:14" + "src": "23976:4:17" } ] } @@ -15726,7 +14532,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25904:9:14", + "src": "23854:9:17", "type": "" } ], @@ -15734,16 +14540,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25919:4:14", + "src": "23869:4:17", "type": "" } ], - "src": "25753:419:14" + "src": "23703:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "26206:152:14", + "src": "24156:152:17", "statements": [ { "expression": { @@ -15751,14 +14557,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26223:1:14", + "src": "24173:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26226:77:14", + "src": "24176:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -15766,13 +14572,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26216:6:14" + "src": "24166:6:17" }, "nodeType": "YulFunctionCall", - "src": "26216:88:14" + "src": "24166:88:17" }, "nodeType": "YulExpressionStatement", - "src": "26216:88:14" + "src": "24166:88:17" }, { "expression": { @@ -15780,14 +14586,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26320:1:14", + "src": "24270:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26323:4:14", + "src": "24273:4:17", "type": "", "value": "0x32" } @@ -15795,13 +14601,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26313:6:14" + "src": "24263:6:17" }, "nodeType": "YulFunctionCall", - "src": "26313:15:14" + "src": "24263:15:17" }, "nodeType": "YulExpressionStatement", - "src": "26313:15:14" + "src": "24263:15:17" }, { "expression": { @@ -15809,14 +14615,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26344:1:14", + "src": "24294:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26347:4:14", + "src": "24297:4:17", "type": "", "value": "0x24" } @@ -15824,56 +14630,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26337:6:14" + "src": "24287:6:17" }, "nodeType": "YulFunctionCall", - "src": "26337:15:14" + "src": "24287:15:17" }, "nodeType": "YulExpressionStatement", - "src": "26337:15:14" + "src": "24287:15:17" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "26178:180:14" + "src": "24128:180:17" }, { "body": { "nodeType": "YulBlock", - "src": "26407:190:14", + "src": "24357:190:17", "statements": [ { "nodeType": "YulAssignment", - "src": "26417:33:14", + "src": "24367:33:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26444:5:14" + "src": "24394:5:17" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "26426:17:14" + "src": "24376:17:17" }, "nodeType": "YulFunctionCall", - "src": "26426:24:14" + "src": "24376:24:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26417:5:14" + "src": "24367:5:17" } ] }, { "body": { "nodeType": "YulBlock", - "src": "26540:22:14", + "src": "24490:22:17", "statements": [ { "expression": { @@ -15881,13 +14687,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "26542:16:14" + "src": "24492:16:17" }, "nodeType": "YulFunctionCall", - "src": "26542:18:14" + "src": "24492:18:17" }, "nodeType": "YulExpressionStatement", - "src": "26542:18:14" + "src": "24492:18:17" } ] }, @@ -15896,12 +14702,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "26465:5:14" + "src": "24415:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26472:66:14", + "src": "24422:66:17", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } @@ -15909,28 +14715,28 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "26462:2:14" + "src": "24412:2:17" }, "nodeType": "YulFunctionCall", - "src": "26462:77:14" + "src": "24412:77:17" }, "nodeType": "YulIf", - "src": "26459:103:14" + "src": "24409:103:17" }, { "nodeType": "YulAssignment", - "src": "26571:20:14", + "src": "24521:20:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26582:5:14" + "src": "24532:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26589:1:14", + "src": "24539:1:17", "type": "", "value": "1" } @@ -15938,16 +14744,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26578:3:14" + "src": "24528:3:17" }, "nodeType": "YulFunctionCall", - "src": "26578:13:14" + "src": "24528:13:17" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "26571:3:14" + "src": "24521:3:17" } ] } @@ -15959,7 +14765,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "26393:5:14", + "src": "24343:5:17", "type": "" } ], @@ -15967,16 +14773,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "26403:3:14", + "src": "24353:3:17", "type": "" } ], - "src": "26364:233:14" + "src": "24314:233:17" }, { "body": { "nodeType": "YulBlock", - "src": "26709:125:14", + "src": "24659:125:17", "statements": [ { "expression": { @@ -15986,12 +14792,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26731:6:14" + "src": "24681:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26739:1:14", + "src": "24689:1:17", "type": "", "value": "0" } @@ -15999,16 +14805,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26727:3:14" + "src": "24677:3:17" }, "nodeType": "YulFunctionCall", - "src": "26727:14:14" + "src": "24677:14:17" }, { "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", "kind": "string", "nodeType": "YulLiteral", - "src": "26743:34:14", + "src": "24693:34:17", "type": "", "value": "ERC721Enumerable: global index o" } @@ -16016,13 +14822,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26720:6:14" + "src": "24670:6:17" }, "nodeType": "YulFunctionCall", - "src": "26720:58:14" + "src": "24670:58:17" }, "nodeType": "YulExpressionStatement", - "src": "26720:58:14" + "src": "24670:58:17" }, { "expression": { @@ -16032,12 +14838,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26799:6:14" + "src": "24749:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26807:2:14", + "src": "24757:2:17", "type": "", "value": "32" } @@ -16045,16 +14851,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26795:3:14" + "src": "24745:3:17" }, "nodeType": "YulFunctionCall", - "src": "26795:15:14" + "src": "24745:15:17" }, { "hexValue": "7574206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "26812:14:14", + "src": "24762:14:17", "type": "", "value": "ut of bounds" } @@ -16062,13 +14868,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26788:6:14" + "src": "24738:6:17" }, "nodeType": "YulFunctionCall", - "src": "26788:39:14" + "src": "24738:39:17" }, "nodeType": "YulExpressionStatement", - "src": "26788:39:14" + "src": "24738:39:17" } ] }, @@ -16078,31 +14884,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26701:6:14", + "src": "24651:6:17", "type": "" } ], - "src": "26603:231:14" + "src": "24553:231:17" }, { "body": { "nodeType": "YulBlock", - "src": "26986:220:14", + "src": "24936:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "26996:74:14", + "src": "24946:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27062:3:14" + "src": "25012:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27067:2:14", + "src": "25017:2:17", "type": "", "value": "44" } @@ -16110,16 +14916,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27003:58:14" + "src": "24953:58:17" }, "nodeType": "YulFunctionCall", - "src": "27003:67:14" + "src": "24953:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26996:3:14" + "src": "24946:3:17" } ] }, @@ -16129,34 +14935,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27168:3:14" + "src": "25118:3:17" } ], "functionName": { "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulIdentifier", - "src": "27079:88:14" + "src": "25029:88:17" }, "nodeType": "YulFunctionCall", - "src": "27079:93:14" + "src": "25029:93:17" }, "nodeType": "YulExpressionStatement", - "src": "27079:93:14" + "src": "25029:93:17" }, { "nodeType": "YulAssignment", - "src": "27181:19:14", + "src": "25131:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27192:3:14" + "src": "25142:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27197:2:14", + "src": "25147:2:17", "type": "", "value": "64" } @@ -16164,16 +14970,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27188:3:14" + "src": "25138:3:17" }, "nodeType": "YulFunctionCall", - "src": "27188:12:14" + "src": "25138:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27181:3:14" + "src": "25131:3:17" } ] } @@ -16185,7 +14991,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "26974:3:14", + "src": "24924:3:17", "type": "" } ], @@ -16193,31 +14999,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26982:3:14", + "src": "24932:3:17", "type": "" } ], - "src": "26840:366:14" + "src": "24790:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "27383:248:14", + "src": "25333:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "27393:26:14", + "src": "25343:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27405:9:14" + "src": "25355:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27416:2:14", + "src": "25366:2:17", "type": "", "value": "32" } @@ -16225,16 +15031,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27401:3:14" + "src": "25351:3:17" }, "nodeType": "YulFunctionCall", - "src": "27401:18:14" + "src": "25351:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27393:4:14" + "src": "25343:4:17" } ] }, @@ -16246,12 +15052,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27440:9:14" + "src": "25390:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27451:1:14", + "src": "25401:1:17", "type": "", "value": "0" } @@ -16259,68 +15065,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27436:3:14" + "src": "25386:3:17" }, "nodeType": "YulFunctionCall", - "src": "27436:17:14" + "src": "25386:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27459:4:14" + "src": "25409:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27465:9:14" + "src": "25415:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27455:3:14" + "src": "25405:3:17" }, "nodeType": "YulFunctionCall", - "src": "27455:20:14" + "src": "25405:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27429:6:14" + "src": "25379:6:17" }, "nodeType": "YulFunctionCall", - "src": "27429:47:14" + "src": "25379:47:17" }, "nodeType": "YulExpressionStatement", - "src": "27429:47:14" + "src": "25379:47:17" }, { "nodeType": "YulAssignment", - "src": "27485:139:14", + "src": "25435:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27619:4:14" + "src": "25569:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27493:124:14" + "src": "25443:124:17" }, "nodeType": "YulFunctionCall", - "src": "27493:131:14" + "src": "25443:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27485:4:14" + "src": "25435:4:17" } ] } @@ -16332,7 +15138,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27363:9:14", + "src": "25313:9:17", "type": "" } ], @@ -16340,16 +15146,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27378:4:14", + "src": "25328:4:17", "type": "" } ], - "src": "27212:419:14" + "src": "25162:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "27743:65:14", + "src": "25693:65:17", "statements": [ { "expression": { @@ -16359,12 +15165,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27765:6:14" + "src": "25715:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27773:1:14", + "src": "25723:1:17", "type": "", "value": "0" } @@ -16372,16 +15178,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27761:3:14" + "src": "25711:3:17" }, "nodeType": "YulFunctionCall", - "src": "27761:14:14" + "src": "25711:14:17" }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", "kind": "string", "nodeType": "YulLiteral", - "src": "27777:23:14", + "src": "25727:23:17", "type": "", "value": "Must be valid tokenId" } @@ -16389,13 +15195,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27754:6:14" + "src": "25704:6:17" }, "nodeType": "YulFunctionCall", - "src": "27754:47:14" + "src": "25704:47:17" }, "nodeType": "YulExpressionStatement", - "src": "27754:47:14" + "src": "25704:47:17" } ] }, @@ -16405,31 +15211,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "27735:6:14", + "src": "25685:6:17", "type": "" } ], - "src": "27637:171:14" + "src": "25587:171:17" }, { "body": { "nodeType": "YulBlock", - "src": "27960:220:14", + "src": "25910:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "27970:74:14", + "src": "25920:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28036:3:14" + "src": "25986:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28041:2:14", + "src": "25991:2:17", "type": "", "value": "21" } @@ -16437,16 +15243,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27977:58:14" + "src": "25927:58:17" }, "nodeType": "YulFunctionCall", - "src": "27977:67:14" + "src": "25927:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27970:3:14" + "src": "25920:3:17" } ] }, @@ -16456,34 +15262,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28142:3:14" + "src": "26092:3:17" } ], "functionName": { "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "nodeType": "YulIdentifier", - "src": "28053:88:14" + "src": "26003:88:17" }, "nodeType": "YulFunctionCall", - "src": "28053:93:14" + "src": "26003:93:17" }, "nodeType": "YulExpressionStatement", - "src": "28053:93:14" + "src": "26003:93:17" }, { "nodeType": "YulAssignment", - "src": "28155:19:14", + "src": "26105:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28166:3:14" + "src": "26116:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28171:2:14", + "src": "26121:2:17", "type": "", "value": "32" } @@ -16491,16 +15297,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28162:3:14" + "src": "26112:3:17" }, "nodeType": "YulFunctionCall", - "src": "28162:12:14" + "src": "26112:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "28155:3:14" + "src": "26105:3:17" } ] } @@ -16512,7 +15318,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "27948:3:14", + "src": "25898:3:17", "type": "" } ], @@ -16520,31 +15326,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "27956:3:14", + "src": "25906:3:17", "type": "" } ], - "src": "27814:366:14" + "src": "25764:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "28357:248:14", + "src": "26307:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "28367:26:14", + "src": "26317:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28379:9:14" + "src": "26329:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28390:2:14", + "src": "26340:2:17", "type": "", "value": "32" } @@ -16552,16 +15358,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28375:3:14" + "src": "26325:3:17" }, "nodeType": "YulFunctionCall", - "src": "28375:18:14" + "src": "26325:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28367:4:14" + "src": "26317:4:17" } ] }, @@ -16573,12 +15379,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28414:9:14" + "src": "26364:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28425:1:14", + "src": "26375:1:17", "type": "", "value": "0" } @@ -16586,68 +15392,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28410:3:14" + "src": "26360:3:17" }, "nodeType": "YulFunctionCall", - "src": "28410:17:14" + "src": "26360:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28433:4:14" + "src": "26383:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28439:9:14" + "src": "26389:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "28429:3:14" + "src": "26379:3:17" }, "nodeType": "YulFunctionCall", - "src": "28429:20:14" + "src": "26379:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28403:6:14" + "src": "26353:6:17" }, "nodeType": "YulFunctionCall", - "src": "28403:47:14" + "src": "26353:47:17" }, "nodeType": "YulExpressionStatement", - "src": "28403:47:14" + "src": "26353:47:17" }, { "nodeType": "YulAssignment", - "src": "28459:139:14", + "src": "26409:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28593:4:14" + "src": "26543:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28467:124:14" + "src": "26417:124:17" }, "nodeType": "YulFunctionCall", - "src": "28467:131:14" + "src": "26417:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28459:4:14" + "src": "26409:4:17" } ] } @@ -16659,7 +15465,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "28337:9:14", + "src": "26287:9:17", "type": "" } ], @@ -16667,16 +15473,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "28352:4:14", + "src": "26302:4:17", "type": "" } ], - "src": "28186:419:14" + "src": "26136:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "28717:70:14", + "src": "26667:70:17", "statements": [ { "expression": { @@ -16686,12 +15492,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "28739:6:14" + "src": "26689:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28747:1:14", + "src": "26697:1:17", "type": "", "value": "0" } @@ -16699,16 +15505,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28735:3:14" + "src": "26685:3:17" }, "nodeType": "YulFunctionCall", - "src": "28735:14:14" + "src": "26685:14:17" }, { "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", "kind": "string", "nodeType": "YulLiteral", - "src": "28751:28:14", + "src": "26701:28:17", "type": "", "value": "Token has already unlocked" } @@ -16716,13 +15522,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28728:6:14" + "src": "26678:6:17" }, "nodeType": "YulFunctionCall", - "src": "28728:52:14" + "src": "26678:52:17" }, "nodeType": "YulExpressionStatement", - "src": "28728:52:14" + "src": "26678:52:17" } ] }, @@ -16732,31 +15538,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "28709:6:14", + "src": "26659:6:17", "type": "" } ], - "src": "28611:176:14" + "src": "26561:176:17" }, { "body": { "nodeType": "YulBlock", - "src": "28939:220:14", + "src": "26889:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "28949:74:14", + "src": "26899:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29015:3:14" + "src": "26965:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29020:2:14", + "src": "26970:2:17", "type": "", "value": "26" } @@ -16764,16 +15570,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28956:58:14" + "src": "26906:58:17" }, "nodeType": "YulFunctionCall", - "src": "28956:67:14" + "src": "26906:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28949:3:14" + "src": "26899:3:17" } ] }, @@ -16783,34 +15589,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29121:3:14" + "src": "27071:3:17" } ], "functionName": { "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", "nodeType": "YulIdentifier", - "src": "29032:88:14" + "src": "26982:88:17" }, "nodeType": "YulFunctionCall", - "src": "29032:93:14" + "src": "26982:93:17" }, "nodeType": "YulExpressionStatement", - "src": "29032:93:14" + "src": "26982:93:17" }, { "nodeType": "YulAssignment", - "src": "29134:19:14", + "src": "27084:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29145:3:14" + "src": "27095:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29150:2:14", + "src": "27100:2:17", "type": "", "value": "32" } @@ -16818,16 +15624,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29141:3:14" + "src": "27091:3:17" }, "nodeType": "YulFunctionCall", - "src": "29141:12:14" + "src": "27091:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29134:3:14" + "src": "27084:3:17" } ] } @@ -16839,7 +15645,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "28927:3:14", + "src": "26877:3:17", "type": "" } ], @@ -16847,31 +15653,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "28935:3:14", + "src": "26885:3:17", "type": "" } ], - "src": "28793:366:14" + "src": "26743:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "29336:248:14", + "src": "27286:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "29346:26:14", + "src": "27296:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29358:9:14" + "src": "27308:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29369:2:14", + "src": "27319:2:17", "type": "", "value": "32" } @@ -16879,16 +15685,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29354:3:14" + "src": "27304:3:17" }, "nodeType": "YulFunctionCall", - "src": "29354:18:14" + "src": "27304:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29346:4:14" + "src": "27296:4:17" } ] }, @@ -16900,12 +15706,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29393:9:14" + "src": "27343:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29404:1:14", + "src": "27354:1:17", "type": "", "value": "0" } @@ -16913,68 +15719,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29389:3:14" + "src": "27339:3:17" }, "nodeType": "YulFunctionCall", - "src": "29389:17:14" + "src": "27339:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29412:4:14" + "src": "27362:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29418:9:14" + "src": "27368:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "29408:3:14" + "src": "27358:3:17" }, "nodeType": "YulFunctionCall", - "src": "29408:20:14" + "src": "27358:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29382:6:14" + "src": "27332:6:17" }, "nodeType": "YulFunctionCall", - "src": "29382:47:14" + "src": "27332:47:17" }, "nodeType": "YulExpressionStatement", - "src": "29382:47:14" + "src": "27332:47:17" }, { "nodeType": "YulAssignment", - "src": "29438:139:14", + "src": "27388:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29572:4:14" + "src": "27522:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29446:124:14" + "src": "27396:124:17" }, "nodeType": "YulFunctionCall", - "src": "29446:131:14" + "src": "27396:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29438:4:14" + "src": "27388:4:17" } ] } @@ -16986,7 +15792,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "29316:9:14", + "src": "27266:9:17", "type": "" } ], @@ -16994,16 +15800,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "29331:4:14", + "src": "27281:4:17", "type": "" } ], - "src": "29165:419:14" + "src": "27115:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "29696:122:14", + "src": "27646:68:17", "statements": [ { "expression": { @@ -17013,12 +15819,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29718:6:14" + "src": "27668:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29726:1:14", + "src": "27676:1:17", "type": "", "value": "0" } @@ -17026,30 +15832,357 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29714:3:14" + "src": "27664:3:17" }, "nodeType": "YulFunctionCall", - "src": "29714:14:14" + "src": "27664:14:17" }, { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", "kind": "string", "nodeType": "YulLiteral", - "src": "29730:34:14", + "src": "27680:26:17", "type": "", - "value": "ERC721: owner query for nonexist" + "value": "ERC721: invalid token ID" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29707:6:14" + "src": "27657:6:17" }, "nodeType": "YulFunctionCall", - "src": "29707:58:14" + "src": "27657:50:17" }, "nodeType": "YulExpressionStatement", - "src": "29707:58:14" + "src": "27657:50:17" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27638:6:17", + "type": "" + } + ], + "src": "27540:174:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27866:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27876:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27942:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27947:2:17", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27883:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "27883:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27876:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28048:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "27959:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "27959:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27959:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "28061:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28072:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28077:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28068:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28068:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28061:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27854:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27862:3:17", + "type": "" + } + ], + "src": "27720:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28263:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28273:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28285:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28296:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28281:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28281:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28273:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28320:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28331:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28316:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28316:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28339:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28345:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28335:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28335:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28309:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28309:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28309:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "28365:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28499:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28373:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "28373:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28365:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28243:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28258:4:17", + "type": "" + } + ], + "src": "28092:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28623:122:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28645:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28653:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28641:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28641:14:17" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28657:34:17", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28634:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28634:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28634:58:17" }, { "expression": { @@ -17059,12 +16192,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29786:6:14" + "src": "28713:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29794:2:14", + "src": "28721:2:17", "type": "", "value": "32" } @@ -17072,64 +16205,64 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29782:3:14" + "src": "28709:3:17" }, "nodeType": "YulFunctionCall", - "src": "29782:15:14" + "src": "28709:15:17" }, { - "hexValue": "656e7420746f6b656e", + "hexValue": "6c6964206f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "29799:11:14", + "src": "28726:11:17", "type": "", - "value": "ent token" + "value": "lid owner" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29775:6:14" + "src": "28702:6:17" }, "nodeType": "YulFunctionCall", - "src": "29775:36:14" + "src": "28702:36:17" }, "nodeType": "YulExpressionStatement", - "src": "29775:36:14" + "src": "28702:36:17" } ] }, - "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "29688:6:14", + "src": "28615:6:17", "type": "" } ], - "src": "29590:228:14" + "src": "28517:228:17" }, { "body": { "nodeType": "YulBlock", - "src": "29970:220:14", + "src": "28897:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "29980:74:14", + "src": "28907:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30046:3:14" + "src": "28973:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30051:2:14", + "src": "28978:2:17", "type": "", "value": "41" } @@ -17137,16 +16270,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29987:58:14" + "src": "28914:58:17" }, "nodeType": "YulFunctionCall", - "src": "29987:67:14" + "src": "28914:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29980:3:14" + "src": "28907:3:17" } ] }, @@ -17156,34 +16289,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30152:3:14" + "src": "29079:3:17" } ], "functionName": { - "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", "nodeType": "YulIdentifier", - "src": "30063:88:14" + "src": "28990:88:17" }, "nodeType": "YulFunctionCall", - "src": "30063:93:14" + "src": "28990:93:17" }, "nodeType": "YulExpressionStatement", - "src": "30063:93:14" + "src": "28990:93:17" }, { "nodeType": "YulAssignment", - "src": "30165:19:14", + "src": "29092:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30176:3:14" + "src": "29103:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30181:2:14", + "src": "29108:2:17", "type": "", "value": "64" } @@ -17191,28 +16324,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30172:3:14" + "src": "29099:3:17" }, "nodeType": "YulFunctionCall", - "src": "30172:12:14" + "src": "29099:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "30165:3:14" + "src": "29092:3:17" } ] } ] }, - "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "29958:3:14", + "src": "28885:3:17", "type": "" } ], @@ -17220,31 +16353,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "29966:3:14", + "src": "28893:3:17", "type": "" } ], - "src": "29824:366:14" + "src": "28751:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "30367:248:14", + "src": "29294:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "30377:26:14", + "src": "29304:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30389:9:14" + "src": "29316:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30400:2:14", + "src": "29327:2:17", "type": "", "value": "32" } @@ -17252,16 +16385,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30385:3:14" + "src": "29312:3:17" }, "nodeType": "YulFunctionCall", - "src": "30385:18:14" + "src": "29312:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30377:4:14" + "src": "29304:4:17" } ] }, @@ -17273,12 +16406,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30424:9:14" + "src": "29351:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30435:1:14", + "src": "29362:1:17", "type": "", "value": "0" } @@ -17286,80 +16419,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30420:3:14" + "src": "29347:3:17" }, "nodeType": "YulFunctionCall", - "src": "30420:17:14" + "src": "29347:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30443:4:14" + "src": "29370:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30449:9:14" + "src": "29376:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "30439:3:14" + "src": "29366:3:17" }, "nodeType": "YulFunctionCall", - "src": "30439:20:14" + "src": "29366:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "30413:6:14" + "src": "29340:6:17" }, "nodeType": "YulFunctionCall", - "src": "30413:47:14" + "src": "29340:47:17" }, "nodeType": "YulExpressionStatement", - "src": "30413:47:14" + "src": "29340:47:17" }, { "nodeType": "YulAssignment", - "src": "30469:139:14", + "src": "29396:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30603:4:14" + "src": "29530:4:17" } ], "functionName": { - "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "30477:124:14" + "src": "29404:124:17" }, "nodeType": "YulFunctionCall", - "src": "30477:131:14" + "src": "29404:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30469:4:14" + "src": "29396:4:17" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30347:9:14", + "src": "29274:9:17", "type": "" } ], @@ -17367,16 +16500,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30362:4:14", + "src": "29289:4:17", "type": "" } ], - "src": "30196:419:14" + "src": "29123:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "30727:123:14", + "src": "29654:62:17", "statements": [ { "expression": { @@ -17386,12 +16519,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "30749:6:14" + "src": "29676:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30757:1:14", + "src": "29684:1:17", "type": "", "value": "0" } @@ -17399,389 +16532,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30745:3:14" + "src": "29672:3:17" }, "nodeType": "YulFunctionCall", - "src": "30745:14:14" - }, - { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "30761:34:14", - "type": "", - "value": "ERC721: balance query for the ze" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30738:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30738:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30738:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "30817:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30825:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30813:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "30813:15:14" - }, - { - "hexValue": "726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "30830:12:14", - "type": "", - "value": "ro address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30806:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "30806:37:14" - }, - "nodeType": "YulExpressionStatement", - "src": "30806:37:14" - } - ] - }, - "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30719:6:14", - "type": "" - } - ], - "src": "30621:229:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31002:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31012:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31078:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31083:2:14", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "31019:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "31019:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31012:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31184:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "nodeType": "YulIdentifier", - "src": "31095:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "31095:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "31095:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "31197:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31208:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31213:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31204:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31204:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31197:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30990:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30998:3:14", - "type": "" - } - ], - "src": "30856:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31399:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31409:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31421:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31432:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31417:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31417:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31409:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31456:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31467:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31452:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31452:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31475:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31481:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "31471:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31471:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31445:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "31445:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "31445:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "31501:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31635:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "31509:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "31509:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31501:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "31379:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "31394:4:14", - "type": "" - } - ], - "src": "31228:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31759:62:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31781:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31789:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31777:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "31777:14:14" + "src": "29672:14:17" }, { "hexValue": "546f6b656e4964206e6f7420657869737473", "kind": "string", "nodeType": "YulLiteral", - "src": "31793:20:14", + "src": "29688:20:17", "type": "", "value": "TokenId not exists" } @@ -17789,13 +16549,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "31770:6:14" + "src": "29665:6:17" }, "nodeType": "YulFunctionCall", - "src": "31770:44:14" + "src": "29665:44:17" }, "nodeType": "YulExpressionStatement", - "src": "31770:44:14" + "src": "29665:44:17" } ] }, @@ -17805,31 +16565,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "31751:6:14", + "src": "29646:6:17", "type": "" } ], - "src": "31653:168:14" + "src": "29548:168:17" }, { "body": { "nodeType": "YulBlock", - "src": "31973:220:14", + "src": "29868:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "31983:74:14", + "src": "29878:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32049:3:14" + "src": "29944:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32054:2:14", + "src": "29949:2:17", "type": "", "value": "18" } @@ -17837,16 +16597,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "31990:58:14" + "src": "29885:58:17" }, "nodeType": "YulFunctionCall", - "src": "31990:67:14" + "src": "29885:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31983:3:14" + "src": "29878:3:17" } ] }, @@ -17856,34 +16616,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32155:3:14" + "src": "30050:3:17" } ], "functionName": { "name": "store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", "nodeType": "YulIdentifier", - "src": "32066:88:14" + "src": "29961:88:17" }, "nodeType": "YulFunctionCall", - "src": "32066:93:14" + "src": "29961:93:17" }, "nodeType": "YulExpressionStatement", - "src": "32066:93:14" + "src": "29961:93:17" }, { "nodeType": "YulAssignment", - "src": "32168:19:14", + "src": "30063:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32179:3:14" + "src": "30074:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32184:2:14", + "src": "30079:2:17", "type": "", "value": "32" } @@ -17891,16 +16651,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32175:3:14" + "src": "30070:3:17" }, "nodeType": "YulFunctionCall", - "src": "32175:12:14" + "src": "30070:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "32168:3:14" + "src": "30063:3:17" } ] } @@ -17912,7 +16672,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "31961:3:14", + "src": "29856:3:17", "type": "" } ], @@ -17920,31 +16680,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "31969:3:14", + "src": "29864:3:17", "type": "" } ], - "src": "31827:366:14" + "src": "29722:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "32370:248:14", + "src": "30265:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "32380:26:14", + "src": "30275:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32392:9:14" + "src": "30287:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32403:2:14", + "src": "30298:2:17", "type": "", "value": "32" } @@ -17952,16 +16712,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32388:3:14" + "src": "30283:3:17" }, "nodeType": "YulFunctionCall", - "src": "32388:18:14" + "src": "30283:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32380:4:14" + "src": "30275:4:17" } ] }, @@ -17973,12 +16733,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32427:9:14" + "src": "30322:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32438:1:14", + "src": "30333:1:17", "type": "", "value": "0" } @@ -17986,68 +16746,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32423:3:14" + "src": "30318:3:17" }, "nodeType": "YulFunctionCall", - "src": "32423:17:14" + "src": "30318:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32446:4:14" + "src": "30341:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32452:9:14" + "src": "30347:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "32442:3:14" + "src": "30337:3:17" }, "nodeType": "YulFunctionCall", - "src": "32442:20:14" + "src": "30337:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32416:6:14" + "src": "30311:6:17" }, "nodeType": "YulFunctionCall", - "src": "32416:47:14" + "src": "30311:47:17" }, "nodeType": "YulExpressionStatement", - "src": "32416:47:14" + "src": "30311:47:17" }, { "nodeType": "YulAssignment", - "src": "32472:139:14", + "src": "30367:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32606:4:14" + "src": "30501:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32480:124:14" + "src": "30375:124:17" }, "nodeType": "YulFunctionCall", - "src": "32480:131:14" + "src": "30375:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32472:4:14" + "src": "30367:4:17" } ] } @@ -18059,7 +16819,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "32350:9:14", + "src": "30245:9:17", "type": "" } ], @@ -18067,16 +16827,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "32365:4:14", + "src": "30260:4:17", "type": "" } ], - "src": "32199:419:14" + "src": "30094:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "32730:69:14", + "src": "30625:69:17", "statements": [ { "expression": { @@ -18086,12 +16846,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "32752:6:14" + "src": "30647:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32760:1:14", + "src": "30655:1:17", "type": "", "value": "0" } @@ -18099,16 +16859,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32748:3:14" + "src": "30643:3:17" }, "nodeType": "YulFunctionCall", - "src": "32748:14:14" + "src": "30643:14:17" }, { "hexValue": "43616e206e6f74206275726e206c6f636b656420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "32764:27:14", + "src": "30659:27:17", "type": "", "value": "Can not burn locked token" } @@ -18116,13 +16876,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32741:6:14" + "src": "30636:6:17" }, "nodeType": "YulFunctionCall", - "src": "32741:51:14" + "src": "30636:51:17" }, "nodeType": "YulExpressionStatement", - "src": "32741:51:14" + "src": "30636:51:17" } ] }, @@ -18132,31 +16892,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "32722:6:14", + "src": "30617:6:17", "type": "" } ], - "src": "32624:175:14" + "src": "30519:175:17" }, { "body": { "nodeType": "YulBlock", - "src": "32951:220:14", + "src": "30846:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "32961:74:14", + "src": "30856:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33027:3:14" + "src": "30922:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33032:2:14", + "src": "30927:2:17", "type": "", "value": "25" } @@ -18164,16 +16924,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32968:58:14" + "src": "30863:58:17" }, "nodeType": "YulFunctionCall", - "src": "32968:67:14" + "src": "30863:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32961:3:14" + "src": "30856:3:17" } ] }, @@ -18183,34 +16943,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33133:3:14" + "src": "31028:3:17" } ], "functionName": { "name": "store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", "nodeType": "YulIdentifier", - "src": "33044:88:14" + "src": "30939:88:17" }, "nodeType": "YulFunctionCall", - "src": "33044:93:14" + "src": "30939:93:17" }, "nodeType": "YulExpressionStatement", - "src": "33044:93:14" + "src": "30939:93:17" }, { "nodeType": "YulAssignment", - "src": "33146:19:14", + "src": "31041:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33157:3:14" + "src": "31052:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33162:2:14", + "src": "31057:2:17", "type": "", "value": "32" } @@ -18218,16 +16978,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33153:3:14" + "src": "31048:3:17" }, "nodeType": "YulFunctionCall", - "src": "33153:12:14" + "src": "31048:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "33146:3:14" + "src": "31041:3:17" } ] } @@ -18239,7 +16999,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "32939:3:14", + "src": "30834:3:17", "type": "" } ], @@ -18247,31 +17007,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "32947:3:14", + "src": "30842:3:17", "type": "" } ], - "src": "32805:366:14" + "src": "30700:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "33348:248:14", + "src": "31243:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "33358:26:14", + "src": "31253:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33370:9:14" + "src": "31265:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33381:2:14", + "src": "31276:2:17", "type": "", "value": "32" } @@ -18279,16 +17039,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33366:3:14" + "src": "31261:3:17" }, "nodeType": "YulFunctionCall", - "src": "33366:18:14" + "src": "31261:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33358:4:14" + "src": "31253:4:17" } ] }, @@ -18300,12 +17060,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33405:9:14" + "src": "31300:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33416:1:14", + "src": "31311:1:17", "type": "", "value": "0" } @@ -18313,68 +17073,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33401:3:14" + "src": "31296:3:17" }, "nodeType": "YulFunctionCall", - "src": "33401:17:14" + "src": "31296:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33424:4:14" + "src": "31319:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33430:9:14" + "src": "31325:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "33420:3:14" + "src": "31315:3:17" }, "nodeType": "YulFunctionCall", - "src": "33420:20:14" + "src": "31315:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33394:6:14" + "src": "31289:6:17" }, "nodeType": "YulFunctionCall", - "src": "33394:47:14" + "src": "31289:47:17" }, "nodeType": "YulExpressionStatement", - "src": "33394:47:14" + "src": "31289:47:17" }, { "nodeType": "YulAssignment", - "src": "33450:139:14", + "src": "31345:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33584:4:14" + "src": "31479:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "33458:124:14" + "src": "31353:124:17" }, "nodeType": "YulFunctionCall", - "src": "33458:131:14" + "src": "31353:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33450:4:14" + "src": "31345:4:17" } ] } @@ -18386,7 +17146,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "33328:9:14", + "src": "31223:9:17", "type": "" } ], @@ -18394,16 +17154,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "33343:4:14", + "src": "31238:4:17", "type": "" } ], - "src": "33177:419:14" + "src": "31072:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "33708:126:14", + "src": "31603:126:17", "statements": [ { "expression": { @@ -18413,12 +17173,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33730:6:14" + "src": "31625:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33738:1:14", + "src": "31633:1:17", "type": "", "value": "0" } @@ -18426,16 +17186,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33726:3:14" + "src": "31621:3:17" }, "nodeType": "YulFunctionCall", - "src": "33726:14:14" + "src": "31621:14:17" }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620", "kind": "string", "nodeType": "YulLiteral", - "src": "33742:34:14", + "src": "31637:34:17", "type": "", "value": "current address is not owner of " } @@ -18443,13 +17203,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33719:6:14" + "src": "31614:6:17" }, "nodeType": "YulFunctionCall", - "src": "33719:58:14" + "src": "31614:58:17" }, "nodeType": "YulExpressionStatement", - "src": "33719:58:14" + "src": "31614:58:17" }, { "expression": { @@ -18459,12 +17219,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33798:6:14" + "src": "31693:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33806:2:14", + "src": "31701:2:17", "type": "", "value": "32" } @@ -18472,16 +17232,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33794:3:14" + "src": "31689:3:17" }, "nodeType": "YulFunctionCall", - "src": "33794:15:14" + "src": "31689:15:17" }, { "hexValue": "74686973206974656d206e6f77", "kind": "string", "nodeType": "YulLiteral", - "src": "33811:15:14", + "src": "31706:15:17", "type": "", "value": "this item now" } @@ -18489,13 +17249,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33787:6:14" + "src": "31682:6:17" }, "nodeType": "YulFunctionCall", - "src": "33787:40:14" + "src": "31682:40:17" }, "nodeType": "YulExpressionStatement", - "src": "33787:40:14" + "src": "31682:40:17" } ] }, @@ -18505,31 +17265,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "33700:6:14", + "src": "31595:6:17", "type": "" } ], - "src": "33602:232:14" + "src": "31497:232:17" }, { "body": { "nodeType": "YulBlock", - "src": "33986:220:14", + "src": "31881:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "33996:74:14", + "src": "31891:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34062:3:14" + "src": "31957:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34067:2:14", + "src": "31962:2:17", "type": "", "value": "45" } @@ -18537,16 +17297,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34003:58:14" + "src": "31898:58:17" }, "nodeType": "YulFunctionCall", - "src": "34003:67:14" + "src": "31898:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33996:3:14" + "src": "31891:3:17" } ] }, @@ -18556,34 +17316,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34168:3:14" + "src": "32063:3:17" } ], "functionName": { "name": "store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", "nodeType": "YulIdentifier", - "src": "34079:88:14" + "src": "31974:88:17" }, "nodeType": "YulFunctionCall", - "src": "34079:93:14" + "src": "31974:93:17" }, "nodeType": "YulExpressionStatement", - "src": "34079:93:14" + "src": "31974:93:17" }, { "nodeType": "YulAssignment", - "src": "34181:19:14", + "src": "32076:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34192:3:14" + "src": "32087:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34197:2:14", + "src": "32092:2:17", "type": "", "value": "64" } @@ -18591,16 +17351,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34188:3:14" + "src": "32083:3:17" }, "nodeType": "YulFunctionCall", - "src": "34188:12:14" + "src": "32083:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "34181:3:14" + "src": "32076:3:17" } ] } @@ -18612,7 +17372,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33974:3:14", + "src": "31869:3:17", "type": "" } ], @@ -18620,31 +17380,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "33982:3:14", + "src": "31877:3:17", "type": "" } ], - "src": "33840:366:14" + "src": "31735:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "34383:248:14", + "src": "32278:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "34393:26:14", + "src": "32288:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34405:9:14" + "src": "32300:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34416:2:14", + "src": "32311:2:17", "type": "", "value": "32" } @@ -18652,16 +17412,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34401:3:14" + "src": "32296:3:17" }, "nodeType": "YulFunctionCall", - "src": "34401:18:14" + "src": "32296:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34393:4:14" + "src": "32288:4:17" } ] }, @@ -18673,12 +17433,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34440:9:14" + "src": "32335:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34451:1:14", + "src": "32346:1:17", "type": "", "value": "0" } @@ -18686,68 +17446,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34436:3:14" + "src": "32331:3:17" }, "nodeType": "YulFunctionCall", - "src": "34436:17:14" + "src": "32331:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34459:4:14" + "src": "32354:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34465:9:14" + "src": "32360:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "34455:3:14" + "src": "32350:3:17" }, "nodeType": "YulFunctionCall", - "src": "34455:20:14" + "src": "32350:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34429:6:14" + "src": "32324:6:17" }, "nodeType": "YulFunctionCall", - "src": "34429:47:14" + "src": "32324:47:17" }, "nodeType": "YulExpressionStatement", - "src": "34429:47:14" + "src": "32324:47:17" }, { "nodeType": "YulAssignment", - "src": "34485:139:14", + "src": "32380:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34619:4:14" + "src": "32514:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34493:124:14" + "src": "32388:124:17" }, "nodeType": "YulFunctionCall", - "src": "34493:131:14" + "src": "32388:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34485:4:14" + "src": "32380:4:17" } ] } @@ -18759,7 +17519,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "34363:9:14", + "src": "32258:9:17", "type": "" } ], @@ -18767,16 +17527,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "34378:4:14", + "src": "32273:4:17", "type": "" } ], - "src": "34212:419:14" + "src": "32107:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "34743:128:14", + "src": "32638:75:17", "statements": [ { "expression": { @@ -18786,12 +17546,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "34765:6:14" + "src": "32660:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34773:1:14", + "src": "32668:1:17", "type": "", "value": "0" } @@ -18799,127 +17559,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34761:3:14" + "src": "32656:3:17" }, "nodeType": "YulFunctionCall", - "src": "34761:14:14" + "src": "32656:14:17" }, { - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f", + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "34777:34:14", + "src": "32672:33:17", "type": "", - "value": "ERC721Metadata: URI query for no" + "value": "URI query for nonexistent token" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34754:6:14" + "src": "32649:6:17" }, "nodeType": "YulFunctionCall", - "src": "34754:58:14" + "src": "32649:57:17" }, "nodeType": "YulExpressionStatement", - "src": "34754:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "34833:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34841:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34829:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "34829:15:14" - }, - { - "hexValue": "6e6578697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "34846:17:14", - "type": "", - "value": "nexistent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34822:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "34822:42:14" - }, - "nodeType": "YulExpressionStatement", - "src": "34822:42:14" + "src": "32649:57:17" } ] }, - "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "34735:6:14", + "src": "32630:6:17", "type": "" } ], - "src": "34637:234:14" + "src": "32532:181:17" }, { "body": { "nodeType": "YulBlock", - "src": "35023:220:14", + "src": "32865:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "35033:74:14", + "src": "32875:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35099:3:14" + "src": "32941:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35104:2:14", + "src": "32946:2:17", "type": "", - "value": "47" + "value": "31" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "35040:58:14" + "src": "32882:58:17" }, "nodeType": "YulFunctionCall", - "src": "35040:67:14" + "src": "32882:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35033:3:14" + "src": "32875:3:17" } ] }, @@ -18929,95 +17643,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35205:3:14" + "src": "33047:3:17" } ], "functionName": { - "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", "nodeType": "YulIdentifier", - "src": "35116:88:14" + "src": "32958:88:17" }, "nodeType": "YulFunctionCall", - "src": "35116:93:14" + "src": "32958:93:17" }, "nodeType": "YulExpressionStatement", - "src": "35116:93:14" + "src": "32958:93:17" }, { "nodeType": "YulAssignment", - "src": "35218:19:14", + "src": "33060:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35229:3:14" + "src": "33071:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35234:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35225:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "35225:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "35218:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35011:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "35019:3:14", - "type": "" - } - ], - "src": "34877:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35420:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "35430:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35442:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35453:2:14", + "src": "33076:2:17", "type": "", "value": "32" } @@ -19025,16 +17678,77 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35438:3:14" + "src": "33067:3:17" }, "nodeType": "YulFunctionCall", - "src": "35438:18:14" + "src": "33067:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33060:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32853:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32861:3:17", + "type": "" + } + ], + "src": "32719:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33262:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33272:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33284:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33295:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33280:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "33280:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35430:4:14" + "src": "33272:4:17" } ] }, @@ -19046,12 +17760,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35477:9:14" + "src": "33319:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35488:1:14", + "src": "33330:1:17", "type": "", "value": "0" } @@ -19059,80 +17773,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35473:3:14" + "src": "33315:3:17" }, "nodeType": "YulFunctionCall", - "src": "35473:17:14" + "src": "33315:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35496:4:14" + "src": "33338:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35502:9:14" + "src": "33344:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "35492:3:14" + "src": "33334:3:17" }, "nodeType": "YulFunctionCall", - "src": "35492:20:14" + "src": "33334:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "35466:6:14" + "src": "33308:6:17" }, "nodeType": "YulFunctionCall", - "src": "35466:47:14" + "src": "33308:47:17" }, "nodeType": "YulExpressionStatement", - "src": "35466:47:14" + "src": "33308:47:17" }, { "nodeType": "YulAssignment", - "src": "35522:139:14", + "src": "33364:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35656:4:14" + "src": "33498:4:17" } ], "functionName": { - "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "35530:124:14" + "src": "33372:124:17" }, "nodeType": "YulFunctionCall", - "src": "35530:131:14" + "src": "33372:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35522:4:14" + "src": "33364:4:17" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "35400:9:14", + "src": "33242:9:17", "type": "" } ], @@ -19140,140 +17854,657 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "35415:4:14", + "src": "33257:4:17", "type": "" } ], - "src": "35249:419:14" + "src": "33091:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "35788:34:14", + "src": "33642:206:17", "statements": [ { "nodeType": "YulAssignment", - "src": "35798:18:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35813:3:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "35798:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35760:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "35765:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "35776:11:14", - "type": "" - } - ], - "src": "35674:148:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35938:267:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "35948:53:14", + "src": "33652:26:17", "value": { "arguments": [ { - "name": "value", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "35995:5:14" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "35962:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "35962:39:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "35952:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36010:96:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36094:3:14" + "src": "33664:9:17" }, { - "name": "length", - "nodeType": "YulIdentifier", - "src": "36099:6:14" + "kind": "number", + "nodeType": "YulLiteral", + "src": "33675:2:17", + "type": "", + "value": "64" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "name": "add", "nodeType": "YulIdentifier", - "src": "36017:76:14" + "src": "33660:3:17" }, "nodeType": "YulFunctionCall", - "src": "36017:89:14" + "src": "33660:18:17" }, "variableNames": [ { - "name": "pos", + "name": "tail", "nodeType": "YulIdentifier", - "src": "36010:3:14" + "src": "33652:4:17" } ] }, { "expression": { "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33732:6:17" + }, { "arguments": [ { - "name": "value", + "name": "headStart", "nodeType": "YulIdentifier", - "src": "36141:5:14" + "src": "33745:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36148:4:14", + "src": "33756:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33741:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "33741:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "33688:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "33688:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "33688:71:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "33813:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33826:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33837:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33822:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "33822:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "33769:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "33769:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "33769:72:17" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33606:9:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "33618:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33626:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33637:4:17", + "type": "" + } + ], + "src": "33516:332:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33921:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "34026:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "34028:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "34028:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "34028:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "33998:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34006:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "33995:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "33995:30:17" + }, + "nodeType": "YulIf", + "src": "33992:56:17" + }, + { + "nodeType": "YulAssignment", + "src": "34058:37:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34088:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "34066:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "34066:29:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "34058:4:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34132:23:17", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "34144:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34150:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34140:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "34140:15:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "34132:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "33905:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "33916:4:17", + "type": "" + } + ], + "src": "33854:308:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34263:326:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34273:75:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34340:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "34298:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "34298:49:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "34282:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "34282:66:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "34273:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "34364:5:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34371:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34357:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "34357:21:17" + }, + "nodeType": "YulExpressionStatement", + "src": "34357:21:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34387:27:17", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "34402:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34409:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34398:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "34398:16:17" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "34391:3:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34452:83:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "34454:77:17" + }, + "nodeType": "YulFunctionCall", + "src": "34454:79:17" + }, + "nodeType": "YulExpressionStatement", + "src": "34454:79:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "34433:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34438:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34429:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "34429:16:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34447:3:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "34426:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "34426:25:17" + }, + "nodeType": "YulIf", + "src": "34423:112:17" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "34566:3:17" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "34571:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34576:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "34544:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "34544:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "34544:39:17" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "34236:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34241:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34249:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "34257:5:17", + "type": "" + } + ], + "src": "34168:421:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34682:282:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "34731:83:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "34733:77:17" + }, + "nodeType": "YulFunctionCall", + "src": "34733:79:17" + }, + "nodeType": "YulExpressionStatement", + "src": "34733:79:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "34710:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34718:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34706:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "34706:17:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34725:3:17" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "34702:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "34702:27:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34695:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "34695:35:17" + }, + "nodeType": "YulIf", + "src": "34692:122:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34823:27:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "34843:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "34837:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "34837:13:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "34827:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "34859:99:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "34931:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34939:4:17", "type": "", "value": "0x20" } @@ -19281,216 +18512,313 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36137:3:14" + "src": "34927:3:17" }, "nodeType": "YulFunctionCall", - "src": "36137:16:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36155:3:14" + "src": "34927:17:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "36160:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "36115:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "36115:52:14" - }, - "nodeType": "YulExpressionStatement", - "src": "36115:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "36176:23:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36187:3:14" + "src": "34946:6:17" }, { - "name": "length", + "name": "end", "nodeType": "YulIdentifier", - "src": "36192:6:14" + "src": "34954:3:17" } ], "functionName": { - "name": "add", + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "36183:3:14" + "src": "34868:58:17" }, "nodeType": "YulFunctionCall", - "src": "36183:16:14" + "src": "34868:90:17" }, "variableNames": [ { - "name": "end", + "name": "array", "nodeType": "YulIdentifier", - "src": "36176:3:14" + "src": "34859:5:17" } ] } ] }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "offset", "nodeType": "YulTypedName", - "src": "35919:5:14", + "src": "34660:6:17", "type": "" }, { - "name": "pos", + "name": "end", "nodeType": "YulTypedName", - "src": "35926:3:14", + "src": "34668:3:17", "type": "" } ], "returnVariables": [ { - "name": "end", + "name": "array", "nodeType": "YulTypedName", - "src": "35934:3:14", + "src": "34676:5:17", "type": "" } ], - "src": "35828:377:14" + "src": "34609:355:17" }, { "body": { "nodeType": "YulBlock", - "src": "36395:251:14", + "src": "35057:437:17", "statements": [ { - "nodeType": "YulAssignment", - "src": "36406:102:14", - "value": { + "body": { + "nodeType": "YulBlock", + "src": "35103:83:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "35105:77:17" + }, + "nodeType": "YulFunctionCall", + "src": "35105:79:17" + }, + "nodeType": "YulExpressionStatement", + "src": "35105:79:17" + } + ] + }, + "condition": { "arguments": [ { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "36495:6:14" + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "35078:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35087:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35074:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "35074:23:17" }, { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36504:3:14" + "kind": "number", + "nodeType": "YulLiteral", + "src": "35099:2:17", + "type": "", + "value": "32" } ], "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "name": "slt", "nodeType": "YulIdentifier", - "src": "36413:81:14" + "src": "35070:3:17" }, "nodeType": "YulFunctionCall", - "src": "36413:95:14" + "src": "35070:32:17" }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36406:3:14" - } - ] + "nodeType": "YulIf", + "src": "35067:119:17" }, { - "nodeType": "YulAssignment", - "src": "36518:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "36607:6:14" + "nodeType": "YulBlock", + "src": "35196:291:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "35211:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35235:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35246:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35231:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "35231:17:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "35225:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "35225:24:17" }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36616:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36525:81:14" + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "35215:6:17", + "type": "" + } + ] }, - "nodeType": "YulFunctionCall", - "src": "36525:95:14" - }, - "variableNames": [ { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36518:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36630:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36637:3:14" - }, - "variableNames": [ + "body": { + "nodeType": "YulBlock", + "src": "35296:83:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "35298:77:17" + }, + "nodeType": "YulFunctionCall", + "src": "35298:79:17" + }, + "nodeType": "YulExpressionStatement", + "src": "35298:79:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "35268:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35276:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "35265:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "35265:30:17" + }, + "nodeType": "YulIf", + "src": "35262:117:17" + }, { - "name": "end", - "nodeType": "YulIdentifier", - "src": "36630:3:14" + "nodeType": "YulAssignment", + "src": "35393:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35449:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "35460:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35445:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "35445:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "35469:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "35403:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "35403:74:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "35393:6:17" + } + ] } ] } ] }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "pos", + "name": "headStart", "nodeType": "YulTypedName", - "src": "36366:3:14", + "src": "35027:9:17", "type": "" }, { - "name": "value1", + "name": "dataEnd", "nodeType": "YulTypedName", - "src": "36372:6:14", + "src": "35038:7:17", "type": "" - }, + } + ], + "returnVariables": [ { "name": "value0", "nodeType": "YulTypedName", - "src": "36380:6:14", + "src": "35050:6:17", "type": "" } ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "36391:3:14", - "type": "" - } - ], - "src": "36211:435:14" + "src": "34970:524:17" }, { "body": { "nodeType": "YulBlock", - "src": "36758:68:14", + "src": "35606:68:17", "statements": [ { "expression": { @@ -19500,12 +18828,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "36780:6:14" + "src": "35628:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36788:1:14", + "src": "35636:1:17", "type": "", "value": "0" } @@ -19513,16 +18841,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36776:3:14" + "src": "35624:3:17" }, "nodeType": "YulFunctionCall", - "src": "36776:14:14" + "src": "35624:14:17" }, { "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", "kind": "string", "nodeType": "YulLiteral", - "src": "36792:26:14", + "src": "35640:26:17", "type": "", "value": "Token has already locked" } @@ -19530,13 +18858,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "36769:6:14" + "src": "35617:6:17" }, "nodeType": "YulFunctionCall", - "src": "36769:50:14" + "src": "35617:50:17" }, "nodeType": "YulExpressionStatement", - "src": "36769:50:14" + "src": "35617:50:17" } ] }, @@ -19546,31 +18874,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "36750:6:14", + "src": "35598:6:17", "type": "" } ], - "src": "36652:174:14" + "src": "35500:174:17" }, { "body": { "nodeType": "YulBlock", - "src": "36978:220:14", + "src": "35826:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "36988:74:14", + "src": "35836:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37054:3:14" + "src": "35902:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37059:2:14", + "src": "35907:2:17", "type": "", "value": "24" } @@ -19578,16 +18906,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "36995:58:14" + "src": "35843:58:17" }, "nodeType": "YulFunctionCall", - "src": "36995:67:14" + "src": "35843:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36988:3:14" + "src": "35836:3:17" } ] }, @@ -19597,34 +18925,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37160:3:14" + "src": "36008:3:17" } ], "functionName": { "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", "nodeType": "YulIdentifier", - "src": "37071:88:14" + "src": "35919:88:17" }, "nodeType": "YulFunctionCall", - "src": "37071:93:14" + "src": "35919:93:17" }, "nodeType": "YulExpressionStatement", - "src": "37071:93:14" + "src": "35919:93:17" }, { "nodeType": "YulAssignment", - "src": "37173:19:14", + "src": "36021:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37184:3:14" + "src": "36032:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37189:2:14", + "src": "36037:2:17", "type": "", "value": "32" } @@ -19632,16 +18960,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37180:3:14" + "src": "36028:3:17" }, "nodeType": "YulFunctionCall", - "src": "37180:12:14" + "src": "36028:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "37173:3:14" + "src": "36021:3:17" } ] } @@ -19653,7 +18981,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "36966:3:14", + "src": "35814:3:17", "type": "" } ], @@ -19661,31 +18989,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "36974:3:14", + "src": "35822:3:17", "type": "" } ], - "src": "36832:366:14" + "src": "35680:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "37375:248:14", + "src": "36223:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "37385:26:14", + "src": "36233:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37397:9:14" + "src": "36245:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37408:2:14", + "src": "36256:2:17", "type": "", "value": "32" } @@ -19693,16 +19021,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37393:3:14" + "src": "36241:3:17" }, "nodeType": "YulFunctionCall", - "src": "37393:18:14" + "src": "36241:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37385:4:14" + "src": "36233:4:17" } ] }, @@ -19714,12 +19042,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37432:9:14" + "src": "36280:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37443:1:14", + "src": "36291:1:17", "type": "", "value": "0" } @@ -19727,68 +19055,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37428:3:14" + "src": "36276:3:17" }, "nodeType": "YulFunctionCall", - "src": "37428:17:14" + "src": "36276:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37451:4:14" + "src": "36299:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37457:9:14" + "src": "36305:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "37447:3:14" + "src": "36295:3:17" }, "nodeType": "YulFunctionCall", - "src": "37447:20:14" + "src": "36295:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37421:6:14" + "src": "36269:6:17" }, "nodeType": "YulFunctionCall", - "src": "37421:47:14" + "src": "36269:47:17" }, "nodeType": "YulExpressionStatement", - "src": "37421:47:14" + "src": "36269:47:17" }, { "nodeType": "YulAssignment", - "src": "37477:139:14", + "src": "36325:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37611:4:14" + "src": "36459:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "37485:124:14" + "src": "36333:124:17" }, "nodeType": "YulFunctionCall", - "src": "37485:131:14" + "src": "36333:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37477:4:14" + "src": "36325:4:17" } ] } @@ -19800,7 +19128,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "37355:9:14", + "src": "36203:9:17", "type": "" } ], @@ -19808,16 +19136,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "37370:4:14", + "src": "36218:4:17", "type": "" } ], - "src": "37204:419:14" + "src": "36052:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "37735:125:14", + "src": "36583:118:17", "statements": [ { "expression": { @@ -19827,12 +19155,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "37757:6:14" + "src": "36605:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37765:1:14", + "src": "36613:1:17", "type": "", "value": "0" } @@ -19840,389 +19168,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37753:3:14" + "src": "36601:3:17" }, "nodeType": "YulFunctionCall", - "src": "37753:14:14" - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "37769:34:14", - "type": "", - "value": "ERC721: operator query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "37746:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "37746:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "37746:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "37825:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37833:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37821:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "37821:15:14" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "37838:14:14", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "37814:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "37814:39:14" - }, - "nodeType": "YulExpressionStatement", - "src": "37814:39:14" - } - ] - }, - "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "37727:6:14", - "type": "" - } - ], - "src": "37629:231:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38012:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "38022:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38088:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38093:2:14", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "38029:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "38029:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38022:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38194:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "nodeType": "YulIdentifier", - "src": "38105:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "38105:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "38105:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "38207:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38218:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38223:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38214:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "38214:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "38207:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "38000:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "38008:3:14", - "type": "" - } - ], - "src": "37866:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38409:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "38419:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38431:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38442:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38427:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "38427:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "38419:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38466:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38477:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38462:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "38462:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "38485:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38491:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "38481:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "38481:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "38455:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "38455:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "38455:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "38511:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "38645:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "38519:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "38519:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "38511:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "38389:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "38404:4:14", - "type": "" - } - ], - "src": "38238:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38769:118:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "38791:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38799:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38787:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "38787:14:14" + "src": "36601:14:17" }, { "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", "kind": "string", "nodeType": "YulLiteral", - "src": "38803:34:14", + "src": "36617:34:17", "type": "", "value": "ERC721: transfer from incorrect " } @@ -20230,13 +19185,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38780:6:14" + "src": "36594:6:17" }, "nodeType": "YulFunctionCall", - "src": "38780:58:14" + "src": "36594:58:17" }, "nodeType": "YulExpressionStatement", - "src": "38780:58:14" + "src": "36594:58:17" }, { "expression": { @@ -20246,12 +19201,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "38859:6:14" + "src": "36673:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38867:2:14", + "src": "36681:2:17", "type": "", "value": "32" } @@ -20259,16 +19214,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38855:3:14" + "src": "36669:3:17" }, "nodeType": "YulFunctionCall", - "src": "38855:15:14" + "src": "36669:15:17" }, { "hexValue": "6f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "38872:7:14", + "src": "36686:7:17", "type": "", "value": "owner" } @@ -20276,13 +19231,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38848:6:14" + "src": "36662:6:17" }, "nodeType": "YulFunctionCall", - "src": "38848:32:14" + "src": "36662:32:17" }, "nodeType": "YulExpressionStatement", - "src": "38848:32:14" + "src": "36662:32:17" } ] }, @@ -20292,31 +19247,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "38761:6:14", + "src": "36575:6:17", "type": "" } ], - "src": "38663:224:14" + "src": "36477:224:17" }, { "body": { "nodeType": "YulBlock", - "src": "39039:220:14", + "src": "36853:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "39049:74:14", + "src": "36863:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39115:3:14" + "src": "36929:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39120:2:14", + "src": "36934:2:17", "type": "", "value": "37" } @@ -20324,16 +19279,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39056:58:14" + "src": "36870:58:17" }, "nodeType": "YulFunctionCall", - "src": "39056:67:14" + "src": "36870:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39049:3:14" + "src": "36863:3:17" } ] }, @@ -20343,34 +19298,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39221:3:14" + "src": "37035:3:17" } ], "functionName": { "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", "nodeType": "YulIdentifier", - "src": "39132:88:14" + "src": "36946:88:17" }, "nodeType": "YulFunctionCall", - "src": "39132:93:14" + "src": "36946:93:17" }, "nodeType": "YulExpressionStatement", - "src": "39132:93:14" + "src": "36946:93:17" }, { "nodeType": "YulAssignment", - "src": "39234:19:14", + "src": "37048:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39245:3:14" + "src": "37059:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39250:2:14", + "src": "37064:2:17", "type": "", "value": "64" } @@ -20378,16 +19333,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39241:3:14" + "src": "37055:3:17" }, "nodeType": "YulFunctionCall", - "src": "39241:12:14" + "src": "37055:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "39234:3:14" + "src": "37048:3:17" } ] } @@ -20399,7 +19354,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "39027:3:14", + "src": "36841:3:17", "type": "" } ], @@ -20407,31 +19362,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "39035:3:14", + "src": "36849:3:17", "type": "" } ], - "src": "38893:366:14" + "src": "36707:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "39436:248:14", + "src": "37250:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "39446:26:14", + "src": "37260:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39458:9:14" + "src": "37272:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39469:2:14", + "src": "37283:2:17", "type": "", "value": "32" } @@ -20439,16 +19394,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39454:3:14" + "src": "37268:3:17" }, "nodeType": "YulFunctionCall", - "src": "39454:18:14" + "src": "37268:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39446:4:14" + "src": "37260:4:17" } ] }, @@ -20460,12 +19415,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39493:9:14" + "src": "37307:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39504:1:14", + "src": "37318:1:17", "type": "", "value": "0" } @@ -20473,68 +19428,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39489:3:14" + "src": "37303:3:17" }, "nodeType": "YulFunctionCall", - "src": "39489:17:14" + "src": "37303:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39512:4:14" + "src": "37326:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39518:9:14" + "src": "37332:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "39508:3:14" + "src": "37322:3:17" }, "nodeType": "YulFunctionCall", - "src": "39508:20:14" + "src": "37322:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39482:6:14" + "src": "37296:6:17" }, "nodeType": "YulFunctionCall", - "src": "39482:47:14" + "src": "37296:47:17" }, "nodeType": "YulExpressionStatement", - "src": "39482:47:14" + "src": "37296:47:17" }, { "nodeType": "YulAssignment", - "src": "39538:139:14", + "src": "37352:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39672:4:14" + "src": "37486:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39546:124:14" + "src": "37360:124:17" }, "nodeType": "YulFunctionCall", - "src": "39546:131:14" + "src": "37360:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39538:4:14" + "src": "37352:4:17" } ] } @@ -20546,7 +19501,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "39416:9:14", + "src": "37230:9:17", "type": "" } ], @@ -20554,16 +19509,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "39431:4:14", + "src": "37245:4:17", "type": "" } ], - "src": "39265:419:14" + "src": "37079:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "39796:117:14", + "src": "37610:117:17", "statements": [ { "expression": { @@ -20573,12 +19528,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "39818:6:14" + "src": "37632:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39826:1:14", + "src": "37640:1:17", "type": "", "value": "0" } @@ -20586,16 +19541,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39814:3:14" + "src": "37628:3:17" }, "nodeType": "YulFunctionCall", - "src": "39814:14:14" + "src": "37628:14:17" }, { "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", "kind": "string", "nodeType": "YulLiteral", - "src": "39830:34:14", + "src": "37644:34:17", "type": "", "value": "ERC721: transfer to the zero add" } @@ -20603,13 +19558,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39807:6:14" + "src": "37621:6:17" }, "nodeType": "YulFunctionCall", - "src": "39807:58:14" + "src": "37621:58:17" }, "nodeType": "YulExpressionStatement", - "src": "39807:58:14" + "src": "37621:58:17" }, { "expression": { @@ -20619,12 +19574,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "39886:6:14" + "src": "37700:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39894:2:14", + "src": "37708:2:17", "type": "", "value": "32" } @@ -20632,16 +19587,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39882:3:14" + "src": "37696:3:17" }, "nodeType": "YulFunctionCall", - "src": "39882:15:14" + "src": "37696:15:17" }, { "hexValue": "72657373", "kind": "string", "nodeType": "YulLiteral", - "src": "39899:6:14", + "src": "37713:6:17", "type": "", "value": "ress" } @@ -20649,13 +19604,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39875:6:14" + "src": "37689:6:17" }, "nodeType": "YulFunctionCall", - "src": "39875:31:14" + "src": "37689:31:17" }, "nodeType": "YulExpressionStatement", - "src": "39875:31:14" + "src": "37689:31:17" } ] }, @@ -20665,31 +19620,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "39788:6:14", + "src": "37602:6:17", "type": "" } ], - "src": "39690:223:14" + "src": "37504:223:17" }, { "body": { "nodeType": "YulBlock", - "src": "40065:220:14", + "src": "37879:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "40075:74:14", + "src": "37889:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40141:3:14" + "src": "37955:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40146:2:14", + "src": "37960:2:17", "type": "", "value": "36" } @@ -20697,16 +19652,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40082:58:14" + "src": "37896:58:17" }, "nodeType": "YulFunctionCall", - "src": "40082:67:14" + "src": "37896:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40075:3:14" + "src": "37889:3:17" } ] }, @@ -20716,34 +19671,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40247:3:14" + "src": "38061:3:17" } ], "functionName": { "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", "nodeType": "YulIdentifier", - "src": "40158:88:14" + "src": "37972:88:17" }, "nodeType": "YulFunctionCall", - "src": "40158:93:14" + "src": "37972:93:17" }, "nodeType": "YulExpressionStatement", - "src": "40158:93:14" + "src": "37972:93:17" }, { "nodeType": "YulAssignment", - "src": "40260:19:14", + "src": "38074:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40271:3:14" + "src": "38085:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40276:2:14", + "src": "38090:2:17", "type": "", "value": "64" } @@ -20751,16 +19706,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40267:3:14" + "src": "38081:3:17" }, "nodeType": "YulFunctionCall", - "src": "40267:12:14" + "src": "38081:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "40260:3:14" + "src": "38074:3:17" } ] } @@ -20772,7 +19727,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "40053:3:14", + "src": "37867:3:17", "type": "" } ], @@ -20780,31 +19735,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "40061:3:14", + "src": "37875:3:17", "type": "" } ], - "src": "39919:366:14" + "src": "37733:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "40462:248:14", + "src": "38276:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "40472:26:14", + "src": "38286:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40484:9:14" + "src": "38298:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40495:2:14", + "src": "38309:2:17", "type": "", "value": "32" } @@ -20812,16 +19767,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40480:3:14" + "src": "38294:3:17" }, "nodeType": "YulFunctionCall", - "src": "40480:18:14" + "src": "38294:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40472:4:14" + "src": "38286:4:17" } ] }, @@ -20833,12 +19788,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40519:9:14" + "src": "38333:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40530:1:14", + "src": "38344:1:17", "type": "", "value": "0" } @@ -20846,68 +19801,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40515:3:14" + "src": "38329:3:17" }, "nodeType": "YulFunctionCall", - "src": "40515:17:14" + "src": "38329:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40538:4:14" + "src": "38352:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40544:9:14" + "src": "38358:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "40534:3:14" + "src": "38348:3:17" }, "nodeType": "YulFunctionCall", - "src": "40534:20:14" + "src": "38348:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "40508:6:14" + "src": "38322:6:17" }, "nodeType": "YulFunctionCall", - "src": "40508:47:14" + "src": "38322:47:17" }, "nodeType": "YulExpressionStatement", - "src": "40508:47:14" + "src": "38322:47:17" }, { "nodeType": "YulAssignment", - "src": "40564:139:14", + "src": "38378:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40698:4:14" + "src": "38512:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40572:124:14" + "src": "38386:124:17" }, "nodeType": "YulFunctionCall", - "src": "40572:131:14" + "src": "38386:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40564:4:14" + "src": "38378:4:17" } ] } @@ -20919,7 +19874,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "40442:9:14", + "src": "38256:9:17", "type": "" } ], @@ -20927,180 +19882,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "40457:4:14", + "src": "38271:4:17", "type": "" } ], - "src": "40291:419:14" + "src": "38105:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "40761:146:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "40771:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "40794:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "40776:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "40776:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "40771:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "40805:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "40828:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "40810:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "40810:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "40805:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "40852:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "40854:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "40854:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "40854:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "40846:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "40849:1:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "40843:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "40843:8:14" - }, - "nodeType": "YulIf", - "src": "40840:34:14" - }, - { - "nodeType": "YulAssignment", - "src": "40884:17:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "40896:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "40899:1:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "40892:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "40892:9:14" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "40884:4:14" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "40747:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "40750:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "40756:4:14", - "type": "" - } - ], - "src": "40716:191:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41019:67:14", + "src": "38636:69:17", "statements": [ { "expression": { @@ -21110,12 +19901,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "41041:6:14" + "src": "38658:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41049:1:14", + "src": "38666:1:17", "type": "", "value": "0" } @@ -21123,549 +19914,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "41037:3:14" + "src": "38654:3:17" }, "nodeType": "YulFunctionCall", - "src": "41037:14:14" - }, - { - "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "41053:25:14", - "type": "", - "value": "AccessControl: account " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41030:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "41030:49:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41030:49:14" - } - ] - }, - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "41011:6:14", - "type": "" - } - ], - "src": "40913:173:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41256:238:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41266:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41350:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41355:2:14", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "41273:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "41273:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41266:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41456:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "nodeType": "YulIdentifier", - "src": "41367:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "41367:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41367:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "41469:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41480:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41485:2:14", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41476:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "41476:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "41469:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "41244:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "41252:3:14", - "type": "" - } - ], - "src": "41092:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41606:61:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "41628:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41636:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41624:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "41624:14:14" - }, - { - "hexValue": "206973206d697373696e6720726f6c6520", - "kind": "string", - "nodeType": "YulLiteral", - "src": "41640:19:14", - "type": "", - "value": " is missing role " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41617:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "41617:43:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41617:43:14" - } - ] - }, - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "41598:6:14", - "type": "" - } - ], - "src": "41500:167:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41837:238:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41847:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41931:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41936:2:14", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "41854:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "41854:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41847:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42037:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulIdentifier", - "src": "41948:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "41948:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41948:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "42050:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42061:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42066:2:14", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42057:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "42057:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "42050:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "41825:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "41833:3:14", - "type": "" - } - ], - "src": "41673:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42467:581:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "42478:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42629:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42485:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "42485:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42478:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42643:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "42732:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42741:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42650:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "42650:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42643:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42755:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42906:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42762:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "42762:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42755:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42920:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "43009:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43018:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42927:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "42927:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42920:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "43032:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43039:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "43032:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "42438:3:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "42444:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "42452:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "42463:3:14", - "type": "" - } - ], - "src": "42081:967:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43160:69:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "43182:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43190:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43178:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43178:14:14" + "src": "38654:14:17" }, { "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", "kind": "string", "nodeType": "YulLiteral", - "src": "43194:27:14", + "src": "38670:27:17", "type": "", "value": "ERC721: approve to caller" } @@ -21673,13 +19931,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "43171:6:14" + "src": "38647:6:17" }, "nodeType": "YulFunctionCall", - "src": "43171:51:14" + "src": "38647:51:17" }, "nodeType": "YulExpressionStatement", - "src": "43171:51:14" + "src": "38647:51:17" } ] }, @@ -21689,31 +19947,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "43152:6:14", + "src": "38628:6:17", "type": "" } ], - "src": "43054:175:14" + "src": "38530:175:17" }, { "body": { "nodeType": "YulBlock", - "src": "43381:220:14", + "src": "38857:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "43391:74:14", + "src": "38867:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43457:3:14" + "src": "38933:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43462:2:14", + "src": "38938:2:17", "type": "", "value": "25" } @@ -21721,16 +19979,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "43398:58:14" + "src": "38874:58:17" }, "nodeType": "YulFunctionCall", - "src": "43398:67:14" + "src": "38874:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43391:3:14" + "src": "38867:3:17" } ] }, @@ -21740,34 +19998,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43563:3:14" + "src": "39039:3:17" } ], "functionName": { "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", "nodeType": "YulIdentifier", - "src": "43474:88:14" + "src": "38950:88:17" }, "nodeType": "YulFunctionCall", - "src": "43474:93:14" + "src": "38950:93:17" }, "nodeType": "YulExpressionStatement", - "src": "43474:93:14" + "src": "38950:93:17" }, { "nodeType": "YulAssignment", - "src": "43576:19:14", + "src": "39052:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43587:3:14" + "src": "39063:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43592:2:14", + "src": "39068:2:17", "type": "", "value": "32" } @@ -21775,16 +20033,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43583:3:14" + "src": "39059:3:17" }, "nodeType": "YulFunctionCall", - "src": "43583:12:14" + "src": "39059:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "43576:3:14" + "src": "39052:3:17" } ] } @@ -21796,7 +20054,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "43369:3:14", + "src": "38845:3:17", "type": "" } ], @@ -21804,31 +20062,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "43377:3:14", + "src": "38853:3:17", "type": "" } ], - "src": "43235:366:14" + "src": "38711:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "43778:248:14", + "src": "39254:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "43788:26:14", + "src": "39264:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43800:9:14" + "src": "39276:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43811:2:14", + "src": "39287:2:17", "type": "", "value": "32" } @@ -21836,16 +20094,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43796:3:14" + "src": "39272:3:17" }, "nodeType": "YulFunctionCall", - "src": "43796:18:14" + "src": "39272:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43788:4:14" + "src": "39264:4:17" } ] }, @@ -21857,12 +20115,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43835:9:14" + "src": "39311:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43846:1:14", + "src": "39322:1:17", "type": "", "value": "0" } @@ -21870,68 +20128,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43831:3:14" + "src": "39307:3:17" }, "nodeType": "YulFunctionCall", - "src": "43831:17:14" + "src": "39307:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43854:4:14" + "src": "39330:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43860:9:14" + "src": "39336:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "43850:3:14" + "src": "39326:3:17" }, "nodeType": "YulFunctionCall", - "src": "43850:20:14" + "src": "39326:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "43824:6:14" + "src": "39300:6:17" }, "nodeType": "YulFunctionCall", - "src": "43824:47:14" + "src": "39300:47:17" }, "nodeType": "YulExpressionStatement", - "src": "43824:47:14" + "src": "39300:47:17" }, { "nodeType": "YulAssignment", - "src": "43880:139:14", + "src": "39356:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44014:4:14" + "src": "39490:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "43888:124:14" + "src": "39364:124:17" }, "nodeType": "YulFunctionCall", - "src": "43888:131:14" + "src": "39364:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43880:4:14" + "src": "39356:4:17" } ] } @@ -21943,7 +20201,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "43758:9:14", + "src": "39234:9:17", "type": "" } ], @@ -21951,16 +20209,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "43773:4:14", + "src": "39249:4:17", "type": "" } ], - "src": "43607:419:14" + "src": "39083:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "44138:131:14", + "src": "39614:131:17", "statements": [ { "expression": { @@ -21970,12 +20228,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "44160:6:14" + "src": "39636:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44168:1:14", + "src": "39644:1:17", "type": "", "value": "0" } @@ -21983,16 +20241,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44156:3:14" + "src": "39632:3:17" }, "nodeType": "YulFunctionCall", - "src": "44156:14:14" + "src": "39632:14:17" }, { "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", "kind": "string", "nodeType": "YulLiteral", - "src": "44172:34:14", + "src": "39648:34:17", "type": "", "value": "ERC721: transfer to non ERC721Re" } @@ -22000,13 +20258,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "44149:6:14" + "src": "39625:6:17" }, "nodeType": "YulFunctionCall", - "src": "44149:58:14" + "src": "39625:58:17" }, "nodeType": "YulExpressionStatement", - "src": "44149:58:14" + "src": "39625:58:17" }, { "expression": { @@ -22016,12 +20274,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "44228:6:14" + "src": "39704:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44236:2:14", + "src": "39712:2:17", "type": "", "value": "32" } @@ -22029,16 +20287,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44224:3:14" + "src": "39700:3:17" }, "nodeType": "YulFunctionCall", - "src": "44224:15:14" + "src": "39700:15:17" }, { "hexValue": "63656976657220696d706c656d656e746572", "kind": "string", "nodeType": "YulLiteral", - "src": "44241:20:14", + "src": "39717:20:17", "type": "", "value": "ceiver implementer" } @@ -22046,13 +20304,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "44217:6:14" + "src": "39693:6:17" }, "nodeType": "YulFunctionCall", - "src": "44217:45:14" + "src": "39693:45:17" }, "nodeType": "YulExpressionStatement", - "src": "44217:45:14" + "src": "39693:45:17" } ] }, @@ -22062,31 +20320,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "44130:6:14", + "src": "39606:6:17", "type": "" } ], - "src": "44032:237:14" + "src": "39508:237:17" }, { "body": { "nodeType": "YulBlock", - "src": "44421:220:14", + "src": "39897:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "44431:74:14", + "src": "39907:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "44497:3:14" + "src": "39973:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44502:2:14", + "src": "39978:2:17", "type": "", "value": "50" } @@ -22094,16 +20352,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "44438:58:14" + "src": "39914:58:17" }, "nodeType": "YulFunctionCall", - "src": "44438:67:14" + "src": "39914:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "44431:3:14" + "src": "39907:3:17" } ] }, @@ -22113,34 +20371,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "44603:3:14" + "src": "40079:3:17" } ], "functionName": { "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", "nodeType": "YulIdentifier", - "src": "44514:88:14" + "src": "39990:88:17" }, "nodeType": "YulFunctionCall", - "src": "44514:93:14" + "src": "39990:93:17" }, "nodeType": "YulExpressionStatement", - "src": "44514:93:14" + "src": "39990:93:17" }, { "nodeType": "YulAssignment", - "src": "44616:19:14", + "src": "40092:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "44627:3:14" + "src": "40103:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44632:2:14", + "src": "40108:2:17", "type": "", "value": "64" } @@ -22148,16 +20406,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44623:3:14" + "src": "40099:3:17" }, "nodeType": "YulFunctionCall", - "src": "44623:12:14" + "src": "40099:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "44616:3:14" + "src": "40092:3:17" } ] } @@ -22169,7 +20427,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "44409:3:14", + "src": "39885:3:17", "type": "" } ], @@ -22177,31 +20435,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "44417:3:14", + "src": "39893:3:17", "type": "" } ], - "src": "44275:366:14" + "src": "39751:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "44818:248:14", + "src": "40294:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "44828:26:14", + "src": "40304:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44840:9:14" + "src": "40316:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44851:2:14", + "src": "40327:2:17", "type": "", "value": "32" } @@ -22209,16 +20467,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44836:3:14" + "src": "40312:3:17" }, "nodeType": "YulFunctionCall", - "src": "44836:18:14" + "src": "40312:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44828:4:14" + "src": "40304:4:17" } ] }, @@ -22230,12 +20488,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44875:9:14" + "src": "40351:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44886:1:14", + "src": "40362:1:17", "type": "", "value": "0" } @@ -22243,68 +20501,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44871:3:14" + "src": "40347:3:17" }, "nodeType": "YulFunctionCall", - "src": "44871:17:14" + "src": "40347:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44894:4:14" + "src": "40370:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44900:9:14" + "src": "40376:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "44890:3:14" + "src": "40366:3:17" }, "nodeType": "YulFunctionCall", - "src": "44890:20:14" + "src": "40366:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "44864:6:14" + "src": "40340:6:17" }, "nodeType": "YulFunctionCall", - "src": "44864:47:14" + "src": "40340:47:17" }, "nodeType": "YulExpressionStatement", - "src": "44864:47:14" + "src": "40340:47:17" }, { "nodeType": "YulAssignment", - "src": "44920:139:14", + "src": "40396:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "45054:4:14" + "src": "40530:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "44928:124:14" + "src": "40404:124:17" }, "nodeType": "YulFunctionCall", - "src": "44928:131:14" + "src": "40404:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44920:4:14" + "src": "40396:4:17" } ] } @@ -22316,7 +20574,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "44798:9:14", + "src": "40274:9:17", "type": "" } ], @@ -22324,1570 +20582,48 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "44813:4:14", + "src": "40289:4:17", "type": "" } ], - "src": "44647:419:14" + "src": "40123:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "45100:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45117:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45120:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45110:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45110:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45110:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45214:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45217:4:14", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45207:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45207:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45207:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45238:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45241:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "45231:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45231:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45231:15:14" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "45072:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45300:143:14", + "src": "40662:34:17", "statements": [ { "nodeType": "YulAssignment", - "src": "45310:25:14", + "src": "40672:18:17", "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45333:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45315:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45315:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45310:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "45344:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45367:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45349:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45349:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45344:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45391:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "45393:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "45393:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45393:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45388:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "45381:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45381:9:14" - }, - "nodeType": "YulIf", - "src": "45378:35:14" - }, - { - "nodeType": "YulAssignment", - "src": "45423:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45432:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45435:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "45428:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45428:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "45423:1:14" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "45289:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "45292:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "45298:1:14", - "type": "" - } - ], - "src": "45258:185:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45483:142:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "45493:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45516:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45498:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45498:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45493:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "45527:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45550:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45532:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45532:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45527:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45574:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "45576:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "45576:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45576:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45571:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "45564:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45564:9:14" - }, - "nodeType": "YulIf", - "src": "45561:35:14" - }, - { - "nodeType": "YulAssignment", - "src": "45605:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45614:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45617:1:14" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "45610:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45610:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "45605:1:14" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "45472:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "45475:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "45481:1:14", - "type": "" - } - ], - "src": "45449:176:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45737:73:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "45759:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45767:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45755:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45755:14:14" - }, - { - "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "45771:31:14", - "type": "", - "value": "Can not transfer locked token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45748:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45748:55:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45748:55:14" - } - ] - }, - "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "45729:6:14", - "type": "" - } - ], - "src": "45631:179:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45962:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "45972:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46038:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46043:2:14", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "45979:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "45979:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45972:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46144:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "nodeType": "YulIdentifier", - "src": "46055:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "46055:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46055:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "46157:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46168:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46173:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46164:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46164:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "46157:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "45950:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "45958:3:14", - "type": "" - } - ], - "src": "45816:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46359:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "46369:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46381:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46392:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46377:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46377:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46369:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46416:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46427:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46412:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46412:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46435:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46441:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "46431:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46431:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "46405:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46405:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46405:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "46461:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46595:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "46469:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "46469:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46461:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "46339:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "46354:4:14", - "type": "" - } - ], - "src": "46188:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46661:300:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "46671:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46694:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "46676:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "46676:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46671:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "46705:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46728:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "46710:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "46710:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46705:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46903:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "46905:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "46905:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46905:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46815:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "46808:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46808:9:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "46801:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46801:17:14" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46823:1:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46830:66:14", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46898:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "46826:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46826:74:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "46820:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "46820:81:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "46797:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46797:105:14" - }, - "nodeType": "YulIf", - "src": "46794:131:14" - }, - { - "nodeType": "YulAssignment", - "src": "46935:20:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46950:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46953:1:14" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "46946:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46946:9:14" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "46935:7:14" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "46644:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "46647:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "46653:7:14", - "type": "" - } - ], - "src": "46613:348:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47010:128:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47020:33:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47047:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "47029:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "47029:24:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47020:5:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47081:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "47083:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "47083:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47083:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47068:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47075:4:14", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "47065:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "47065:15:14" - }, - "nodeType": "YulIf", - "src": "47062:41:14" - }, - { - "nodeType": "YulAssignment", - "src": "47112:20:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47123:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47130:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "47119:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47119:13:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "47112:3:14" - } - ] - } - ] - }, - "name": "decrement_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "46996:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "47006:3:14", - "type": "" - } - ], - "src": "46967:171:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47250:76:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "47272:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47280:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47268:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47268:14:14" - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "kind": "string", - "nodeType": "YulLiteral", - "src": "47284:34:14", - "type": "", - "value": "Strings: hex length insufficient" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "47261:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "47261:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47261:58:14" - } - ] - }, - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "47242:6:14", - "type": "" - } - ], - "src": "47144:182:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47478:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47488:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47554:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47559:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "47495:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "47495:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47488:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47660:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "nodeType": "YulIdentifier", - "src": "47571:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "47571:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47571:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "47673:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47684:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47689:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47680:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47680:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "47673:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "47466:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "47474:3:14", - "type": "" - } - ], - "src": "47332:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47875:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47885:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47897:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47908:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47893:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47893:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47885:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47932:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47943:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47928:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47928:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47951:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47957:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "47947:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47947:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "47921:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "47921:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47921:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "47977:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "48111:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "47985:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "47985:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47977:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "47855:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "47870:4:14", - "type": "" - } - ], - "src": "47704:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "48187:40:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "48198:22:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "48214:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "48208:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "48208:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "48198:6:14" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "48170:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "48180:6:14", - "type": "" - } - ], - "src": "48129:98:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "48328:73:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "48345:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "48350:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "48338:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "48338:19:14" - }, - "nodeType": "YulExpressionStatement", - "src": "48338:19:14" - }, - { - "nodeType": "YulAssignment", - "src": "48366:29:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "48385:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "48390:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "48381:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "48381:14:14" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40687:3:17" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "48366:11:14" + "src": "40672:11:17" } ] } ] }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "48300:3:14", + "src": "40634:3:17", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "48305:6:14", + "src": "40639:6:17", "type": "" } ], @@ -23895,74 +20631,254 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "48316:11:14", + "src": "40650:11:17", "type": "" } ], - "src": "48233:168:14" + "src": "40548:148:17" }, { "body": { "nodeType": "YulBlock", - "src": "48497:270:14", + "src": "40808:67:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40830:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40838:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40826:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "40826:14:17" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40842:25:17", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40819:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "40819:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "40819:49:17" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40800:6:17", + "type": "" + } + ], + "src": "40702:173:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41045:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41055:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41139:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41144:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41062:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "41062:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41055:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41245:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "41156:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "41156:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "41156:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "41258:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41269:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41274:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41265:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "41265:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41258:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41033:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41041:3:17", + "type": "" + } + ], + "src": "40881:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41399:267:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "48507:52:14", + "src": "41409:53:17", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "48553:5:14" + "src": "41456:5:17" } ], "functionName": { - "name": "array_length_t_bytes_memory_ptr", + "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "48521:31:14" + "src": "41423:32:17" }, "nodeType": "YulFunctionCall", - "src": "48521:38:14" + "src": "41423:39:17" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "48511:6:14", + "src": "41413:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "48568:77:14", + "src": "41471:96:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48633:3:14" + "src": "41555:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "48638:6:14" + "src": "41560:6:17" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "48575:57:14" + "src": "41478:76:17" }, "nodeType": "YulFunctionCall", - "src": "48575:70:14" + "src": "41478:89:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48568:3:14" + "src": "41471:3:17" } ] }, @@ -23974,12 +20890,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "48680:5:14" + "src": "41602:5:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "48687:4:14", + "src": "41609:4:17", "type": "", "value": "0x20" } @@ -23987,73 +20903,745 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48676:3:14" + "src": "41598:3:17" }, "nodeType": "YulFunctionCall", - "src": "48676:16:14" + "src": "41598:16:17" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "48694:3:14" + "src": "41616:3:17" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "48699:6:14" + "src": "41621:6:17" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "48654:21:14" + "src": "41576:21:17" }, "nodeType": "YulFunctionCall", - "src": "48654:52:14" + "src": "41576:52:17" }, "nodeType": "YulExpressionStatement", - "src": "48654:52:14" + "src": "41576:52:17" }, { "nodeType": "YulAssignment", - "src": "48715:46:14", + "src": "41637:23:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48726:3:14" + "src": "41648:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41653:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41644:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "41644:16:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41637:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "41380:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41387:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41395:3:17", + "type": "" + } + ], + "src": "41289:377:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41778:61:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41800:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41808:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41796:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "41796:14:17" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41812:19:17", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41789:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "41789:43:17" + }, + "nodeType": "YulExpressionStatement", + "src": "41789:43:17" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "41770:6:17", + "type": "" + } + ], + "src": "41672:167:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42009:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42019:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42103:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42108:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "42026:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "42026:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42019:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42209:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "42120:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "42120:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "42120:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "42222:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42233:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42238:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42229:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "42229:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42222:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41997:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42005:3:17", + "type": "" + } + ], + "src": "41845:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42639:581:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42650:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42801:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "42657:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "42657:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42650:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42815:102:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42904:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42913:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "42822:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "42822:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42815:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42927:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43078:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "42934:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "42934:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42927:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43092:102:17", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "43181:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43190:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "43099:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "43099:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43092:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43204:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43211:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43204:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42610:3:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "42616:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "42624:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42635:3:17", + "type": "" + } + ], + "src": "42253:967:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43284:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43295:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43311:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "43305:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "43305:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "43295:6:17" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "43267:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "43277:6:17", + "type": "" + } + ], + "src": "43226:98:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43425:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43442:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "43447:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43435:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "43435:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "43435:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "43463:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43482:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43487:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43478:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "43478:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "43463:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43397:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "43402:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "43413:11:17", + "type": "" + } + ], + "src": "43330:168:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43594:270:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "43604:52:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43650:5:17" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "43618:31:17" + }, + "nodeType": "YulFunctionCall", + "src": "43618:38:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "43608:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43665:77:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43730:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "43735:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43672:57:17" + }, + "nodeType": "YulFunctionCall", + "src": "43672:70:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43665:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43777:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43784:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43773:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "43773:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43791:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "43796:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "43751:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "43751:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "43751:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "43812:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43823:3:17" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "48753:6:14" + "src": "43850:6:17" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "48731:21:14" + "src": "43828:21:17" }, "nodeType": "YulFunctionCall", - "src": "48731:29:14" + "src": "43828:29:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48722:3:14" + "src": "43819:3:17" }, "nodeType": "YulFunctionCall", - "src": "48722:39:14" + "src": "43819:39:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "48715:3:14" + "src": "43812:3:17" } ] } @@ -24065,13 +21653,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "48478:5:14", + "src": "43575:5:17", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "48485:3:14", + "src": "43582:3:17", "type": "" } ], @@ -24079,31 +21667,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "48493:3:14", + "src": "43590:3:17", "type": "" } ], - "src": "48407:360:14" + "src": "43504:360:17" }, { "body": { "nodeType": "YulBlock", - "src": "48973:440:14", + "src": "44070:440:17", "statements": [ { "nodeType": "YulAssignment", - "src": "48983:27:14", + "src": "44080:27:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "48995:9:14" + "src": "44092:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49006:3:14", + "src": "44103:3:17", "type": "", "value": "128" } @@ -24111,16 +21699,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48991:3:14" + "src": "44088:3:17" }, "nodeType": "YulFunctionCall", - "src": "48991:19:14" + "src": "44088:19:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "48983:4:14" + "src": "44080:4:17" } ] }, @@ -24130,19 +21718,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "49064:6:14" + "src": "44161:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49077:9:14" + "src": "44174:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49088:1:14", + "src": "44185:1:17", "type": "", "value": "0" } @@ -24150,22 +21738,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49073:3:14" + "src": "44170:3:17" }, "nodeType": "YulFunctionCall", - "src": "49073:17:14" + "src": "44170:17:17" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "49020:43:14" + "src": "44117:43:17" }, "nodeType": "YulFunctionCall", - "src": "49020:71:14" + "src": "44117:71:17" }, "nodeType": "YulExpressionStatement", - "src": "49020:71:14" + "src": "44117:71:17" }, { "expression": { @@ -24173,19 +21761,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "49145:6:14" + "src": "44242:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49158:9:14" + "src": "44255:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49169:2:14", + "src": "44266:2:17", "type": "", "value": "32" } @@ -24193,22 +21781,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49154:3:14" + "src": "44251:3:17" }, "nodeType": "YulFunctionCall", - "src": "49154:18:14" + "src": "44251:18:17" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "49101:43:14" + "src": "44198:43:17" }, "nodeType": "YulFunctionCall", - "src": "49101:72:14" + "src": "44198:72:17" }, "nodeType": "YulExpressionStatement", - "src": "49101:72:14" + "src": "44198:72:17" }, { "expression": { @@ -24216,19 +21804,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "49227:6:14" + "src": "44324:6:17" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49240:9:14" + "src": "44337:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49251:2:14", + "src": "44348:2:17", "type": "", "value": "64" } @@ -24236,22 +21824,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49236:3:14" + "src": "44333:3:17" }, "nodeType": "YulFunctionCall", - "src": "49236:18:14" + "src": "44333:18:17" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "49183:43:14" + "src": "44280:43:17" }, "nodeType": "YulFunctionCall", - "src": "49183:72:14" + "src": "44280:72:17" }, "nodeType": "YulExpressionStatement", - "src": "49183:72:14" + "src": "44280:72:17" }, { "expression": { @@ -24261,12 +21849,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49276:9:14" + "src": "44373:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49287:2:14", + "src": "44384:2:17", "type": "", "value": "96" } @@ -24274,73 +21862,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49272:3:14" + "src": "44369:3:17" }, "nodeType": "YulFunctionCall", - "src": "49272:18:14" + "src": "44369:18:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "49296:4:14" + "src": "44393:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49302:9:14" + "src": "44399:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "49292:3:14" + "src": "44389:3:17" }, "nodeType": "YulFunctionCall", - "src": "49292:20:14" + "src": "44389:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "49265:6:14" + "src": "44362:6:17" }, "nodeType": "YulFunctionCall", - "src": "49265:48:14" + "src": "44362:48:17" }, "nodeType": "YulExpressionStatement", - "src": "49265:48:14" + "src": "44362:48:17" }, { "nodeType": "YulAssignment", - "src": "49322:84:14", + "src": "44419:84:17", "value": { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "49392:6:14" + "src": "44489:6:17" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "49401:4:14" + "src": "44498:4:17" } ], "functionName": { "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "49330:61:14" + "src": "44427:61:17" }, "nodeType": "YulFunctionCall", - "src": "49330:76:14" + "src": "44427:76:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "49322:4:14" + "src": "44419:4:17" } ] } @@ -24352,31 +21940,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "48921:9:14", + "src": "44018:9:17", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "48933:6:14", + "src": "44030:6:17", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "48941:6:14", + "src": "44038:6:17", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "48949:6:14", + "src": "44046:6:17", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "48957:6:14", + "src": "44054:6:17", "type": "" } ], @@ -24384,41 +21972,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "48968:4:14", + "src": "44065:4:17", "type": "" } ], - "src": "48773:640:14" + "src": "43870:640:17" }, { "body": { "nodeType": "YulBlock", - "src": "49481:79:14", + "src": "44578:79:17", "statements": [ { "nodeType": "YulAssignment", - "src": "49491:22:14", + "src": "44588:22:17", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "49506:6:14" + "src": "44603:6:17" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "49500:5:14" + "src": "44597:5:17" }, "nodeType": "YulFunctionCall", - "src": "49500:13:14" + "src": "44597:13:17" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "49491:5:14" + "src": "44588:5:17" } ] }, @@ -24428,19 +22016,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "49548:5:14" + "src": "44645:5:17" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "49522:25:14" + "src": "44619:25:17" }, "nodeType": "YulFunctionCall", - "src": "49522:32:14" + "src": "44619:32:17" }, "nodeType": "YulExpressionStatement", - "src": "49522:32:14" + "src": "44619:32:17" } ] }, @@ -24450,13 +22038,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "49459:6:14", + "src": "44556:6:17", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "49467:3:14", + "src": "44564:3:17", "type": "" } ], @@ -24464,21 +22052,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "49475:5:14", + "src": "44572:5:17", "type": "" } ], - "src": "49419:141:14" + "src": "44516:141:17" }, { "body": { "nodeType": "YulBlock", - "src": "49642:273:14", + "src": "44739:273:17", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "49688:83:14", + "src": "44785:83:17", "statements": [ { "expression": { @@ -24486,13 +22074,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "49690:77:14" + "src": "44787:77:17" }, "nodeType": "YulFunctionCall", - "src": "49690:79:14" + "src": "44787:79:17" }, "nodeType": "YulExpressionStatement", - "src": "49690:79:14" + "src": "44787:79:17" } ] }, @@ -24503,26 +22091,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "49663:7:14" + "src": "44760:7:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49672:9:14" + "src": "44769:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "49659:3:14" + "src": "44756:3:17" }, "nodeType": "YulFunctionCall", - "src": "49659:23:14" + "src": "44756:23:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49684:2:14", + "src": "44781:2:17", "type": "", "value": "32" } @@ -24530,25 +22118,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "49655:3:14" + "src": "44752:3:17" }, "nodeType": "YulFunctionCall", - "src": "49655:32:14" + "src": "44752:32:17" }, "nodeType": "YulIf", - "src": "49652:119:14" + "src": "44749:119:17" }, { "nodeType": "YulBlock", - "src": "49781:127:14", + "src": "44878:127:17", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "49796:15:14", + "src": "44893:15:17", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "49810:1:14", + "src": "44907:1:17", "type": "", "value": "0" }, @@ -24556,14 +22144,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "49800:6:14", + "src": "44897:6:17", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "49825:73:14", + "src": "44922:73:17", "value": { "arguments": [ { @@ -24571,41 +22159,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49870:9:14" + "src": "44967:9:17" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "49881:6:14" + "src": "44978:6:17" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49866:3:14" + "src": "44963:3:17" }, "nodeType": "YulFunctionCall", - "src": "49866:22:14" + "src": "44963:22:17" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "49890:7:14" + "src": "44987:7:17" } ], "functionName": { "name": "abi_decode_t_bytes4_fromMemory", "nodeType": "YulIdentifier", - "src": "49835:30:14" + "src": "44932:30:17" }, "nodeType": "YulFunctionCall", - "src": "49835:63:14" + "src": "44932:63:17" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "49825:6:14" + "src": "44922:6:17" } ] } @@ -24619,13 +22207,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "49612:9:14", + "src": "44709:9:17", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "49623:7:14", + "src": "44720:7:17", "type": "" } ], @@ -24633,16 +22221,371 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "49635:6:14", + "src": "44732:6:17", "type": "" } ], - "src": "49566:349:14" + "src": "44663:349:17" }, { "body": { "nodeType": "YulBlock", - "src": "50027:76:14", + "src": "45066:300:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45076:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45099:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45081:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "45081:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45076:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45110:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45133:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45115:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "45115:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45110:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45308:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45310:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "45310:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "45310:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45220:1:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "45213:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "45213:9:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "45206:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "45206:17:17" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45228:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45235:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45303:1:17" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "45231:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "45231:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "45225:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "45225:81:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "45202:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "45202:105:17" + }, + "nodeType": "YulIf", + "src": "45199:131:17" + }, + { + "nodeType": "YulAssignment", + "src": "45340:20:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45355:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45358:1:17" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "45351:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "45351:9:17" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "45340:7:17" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "45049:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "45052:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "45058:7:17", + "type": "" + } + ], + "src": "45018:348:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45415:128:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45425:33:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45452:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45434:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "45434:24:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45425:5:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45486:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45488:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "45488:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "45488:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45473:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45480:4:17", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "45470:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "45470:15:17" + }, + "nodeType": "YulIf", + "src": "45467:41:17" + }, + { + "nodeType": "YulAssignment", + "src": "45517:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45528:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45535:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45524:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "45524:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "45517:3:17" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "45401:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "45411:3:17", + "type": "" + } + ], + "src": "45372:171:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45655:76:17", "statements": [ { "expression": { @@ -24652,12 +22595,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "50049:6:14" + "src": "45677:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50057:1:14", + "src": "45685:1:17", "type": "", "value": "0" } @@ -24665,64 +22608,64 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50045:3:14" + "src": "45673:3:17" }, "nodeType": "YulFunctionCall", - "src": "50045:14:14" + "src": "45673:14:17" }, { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", "kind": "string", "nodeType": "YulLiteral", - "src": "50061:34:14", + "src": "45689:34:17", "type": "", - "value": "ERC721: mint to the zero address" + "value": "Strings: hex length insufficient" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "50038:6:14" + "src": "45666:6:17" }, "nodeType": "YulFunctionCall", - "src": "50038:58:14" + "src": "45666:58:17" }, "nodeType": "YulExpressionStatement", - "src": "50038:58:14" + "src": "45666:58:17" } ] }, - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "50019:6:14", + "src": "45647:6:17", "type": "" } ], - "src": "49921:182:14" + "src": "45549:182:17" }, { "body": { "nodeType": "YulBlock", - "src": "50255:220:14", + "src": "45883:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "50265:74:14", + "src": "45893:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50331:3:14" + "src": "45959:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50336:2:14", + "src": "45964:2:17", "type": "", "value": "32" } @@ -24730,16 +22673,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "50272:58:14" + "src": "45900:58:17" }, "nodeType": "YulFunctionCall", - "src": "50272:67:14" + "src": "45900:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50265:3:14" + "src": "45893:3:17" } ] }, @@ -24749,34 +22692,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50437:3:14" + "src": "46065:3:17" } ], "functionName": { - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "nodeType": "YulIdentifier", - "src": "50348:88:14" + "src": "45976:88:17" }, "nodeType": "YulFunctionCall", - "src": "50348:93:14" + "src": "45976:93:17" }, "nodeType": "YulExpressionStatement", - "src": "50348:93:14" + "src": "45976:93:17" }, { "nodeType": "YulAssignment", - "src": "50450:19:14", + "src": "46078:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50461:3:14" + "src": "46089:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50466:2:14", + "src": "46094:2:17", "type": "", "value": "32" } @@ -24784,16 +22727,716 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50457:3:14" + "src": "46085:3:17" }, "nodeType": "YulFunctionCall", - "src": "50457:12:14" + "src": "46085:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "50450:3:14" + "src": "46078:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45871:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45879:3:17", + "type": "" + } + ], + "src": "45737:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46280:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46290:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46302:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46313:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46298:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "46298:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46290:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46337:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46348:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46333:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "46333:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46356:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46362:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46352:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "46352:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46326:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "46326:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "46326:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "46382:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46516:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46390:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "46390:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46382:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46260:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46275:4:17", + "type": "" + } + ], + "src": "46109:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46640:134:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "46662:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46670:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46658:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "46658:14:17" + }, + { + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46674:34:17", + "type": "", + "value": "ERC721Enumerable: consecutive tr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46651:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "46651:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "46651:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "46730:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46738:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46726:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "46726:15:17" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "46743:23:17", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46719:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "46719:48:17" + }, + "nodeType": "YulExpressionStatement", + "src": "46719:48:17" + } + ] + }, + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "46632:6:17", + "type": "" + } + ], + "src": "46534:240:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46926:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46936:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47002:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47007:2:17", + "type": "", + "value": "53" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46943:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "46943:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46936:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47108:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulIdentifier", + "src": "47019:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "47019:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "47019:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "47121:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47132:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47137:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47128:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "47128:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "47121:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46914:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46922:3:17", + "type": "" + } + ], + "src": "46780:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47323:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "47333:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47345:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47356:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47341:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "47341:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47333:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47380:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47391:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47376:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "47376:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47399:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "47405:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "47395:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "47395:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47369:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "47369:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "47369:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "47425:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47559:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "47433:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "47433:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "47425:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "47303:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "47318:4:17", + "type": "" + } + ], + "src": "47152:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47683:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "47705:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47713:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47701:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "47701:14:17" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "47717:34:17", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47694:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "47694:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "47694:58:17" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "47675:6:17", + "type": "" + } + ], + "src": "47577:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47911:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "47921:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47987:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47992:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "47928:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "47928:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47921:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48093:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "48004:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "48004:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "48004:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "48106:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48117:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48122:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48113:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "48113:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "48106:3:17" } ] } @@ -24805,7 +23448,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "50243:3:14", + "src": "47899:3:17", "type": "" } ], @@ -24813,31 +23456,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "50251:3:14", + "src": "47907:3:17", "type": "" } ], - "src": "50109:366:14" + "src": "47765:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "50652:248:14", + "src": "48308:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "50662:26:14", + "src": "48318:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50674:9:14" + "src": "48330:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50685:2:14", + "src": "48341:2:17", "type": "", "value": "32" } @@ -24845,16 +23488,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50670:3:14" + "src": "48326:3:17" }, "nodeType": "YulFunctionCall", - "src": "50670:18:14" + "src": "48326:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50662:4:14" + "src": "48318:4:17" } ] }, @@ -24866,12 +23509,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50709:9:14" + "src": "48365:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50720:1:14", + "src": "48376:1:17", "type": "", "value": "0" } @@ -24879,68 +23522,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50705:3:14" + "src": "48361:3:17" }, "nodeType": "YulFunctionCall", - "src": "50705:17:14" + "src": "48361:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50728:4:14" + "src": "48384:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50734:9:14" + "src": "48390:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "50724:3:14" + "src": "48380:3:17" }, "nodeType": "YulFunctionCall", - "src": "50724:20:14" + "src": "48380:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "50698:6:14" + "src": "48354:6:17" }, "nodeType": "YulFunctionCall", - "src": "50698:47:14" + "src": "48354:47:17" }, "nodeType": "YulExpressionStatement", - "src": "50698:47:14" + "src": "48354:47:17" }, { "nodeType": "YulAssignment", - "src": "50754:139:14", + "src": "48410:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50888:4:14" + "src": "48544:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "50762:124:14" + "src": "48418:124:17" }, "nodeType": "YulFunctionCall", - "src": "50762:131:14" + "src": "48418:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50754:4:14" + "src": "48410:4:17" } ] } @@ -24952,7 +23595,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "50632:9:14", + "src": "48288:9:17", "type": "" } ], @@ -24960,16 +23603,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "50647:4:14", + "src": "48303:4:17", "type": "" } ], - "src": "50481:419:14" + "src": "48137:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "51012:72:14", + "src": "48668:72:17", "statements": [ { "expression": { @@ -24979,12 +23622,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "51034:6:14" + "src": "48690:6:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51042:1:14", + "src": "48698:1:17", "type": "", "value": "0" } @@ -24992,16 +23635,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51030:3:14" + "src": "48686:3:17" }, "nodeType": "YulFunctionCall", - "src": "51030:14:14" + "src": "48686:14:17" }, { "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", "kind": "string", "nodeType": "YulLiteral", - "src": "51046:30:14", + "src": "48702:30:17", "type": "", "value": "ERC721: token already minted" } @@ -25009,13 +23652,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51023:6:14" + "src": "48679:6:17" }, "nodeType": "YulFunctionCall", - "src": "51023:54:14" + "src": "48679:54:17" }, "nodeType": "YulExpressionStatement", - "src": "51023:54:14" + "src": "48679:54:17" } ] }, @@ -25025,31 +23668,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "51004:6:14", + "src": "48660:6:17", "type": "" } ], - "src": "50906:178:14" + "src": "48562:178:17" }, { "body": { "nodeType": "YulBlock", - "src": "51236:220:14", + "src": "48892:220:17", "statements": [ { "nodeType": "YulAssignment", - "src": "51246:74:14", + "src": "48902:74:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51312:3:14" + "src": "48968:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51317:2:14", + "src": "48973:2:17", "type": "", "value": "28" } @@ -25057,16 +23700,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "51253:58:14" + "src": "48909:58:17" }, "nodeType": "YulFunctionCall", - "src": "51253:67:14" + "src": "48909:67:17" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51246:3:14" + "src": "48902:3:17" } ] }, @@ -25076,34 +23719,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51418:3:14" + "src": "49074:3:17" } ], "functionName": { "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", "nodeType": "YulIdentifier", - "src": "51329:88:14" + "src": "48985:88:17" }, "nodeType": "YulFunctionCall", - "src": "51329:93:14" + "src": "48985:93:17" }, "nodeType": "YulExpressionStatement", - "src": "51329:93:14" + "src": "48985:93:17" }, { "nodeType": "YulAssignment", - "src": "51431:19:14", + "src": "49087:19:17", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51442:3:14" + "src": "49098:3:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51447:2:14", + "src": "49103:2:17", "type": "", "value": "32" } @@ -25111,16 +23754,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51438:3:14" + "src": "49094:3:17" }, "nodeType": "YulFunctionCall", - "src": "51438:12:14" + "src": "49094:12:17" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "51431:3:14" + "src": "49087:3:17" } ] } @@ -25132,7 +23775,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "51224:3:14", + "src": "48880:3:17", "type": "" } ], @@ -25140,31 +23783,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "51232:3:14", + "src": "48888:3:17", "type": "" } ], - "src": "51090:366:14" + "src": "48746:366:17" }, { "body": { "nodeType": "YulBlock", - "src": "51633:248:14", + "src": "49289:248:17", "statements": [ { "nodeType": "YulAssignment", - "src": "51643:26:14", + "src": "49299:26:17", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51655:9:14" + "src": "49311:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51666:2:14", + "src": "49322:2:17", "type": "", "value": "32" } @@ -25172,16 +23815,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51651:3:14" + "src": "49307:3:17" }, "nodeType": "YulFunctionCall", - "src": "51651:18:14" + "src": "49307:18:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51643:4:14" + "src": "49299:4:17" } ] }, @@ -25193,12 +23836,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51690:9:14" + "src": "49346:9:17" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51701:1:14", + "src": "49357:1:17", "type": "", "value": "0" } @@ -25206,68 +23849,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51686:3:14" + "src": "49342:3:17" }, "nodeType": "YulFunctionCall", - "src": "51686:17:14" + "src": "49342:17:17" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51709:4:14" + "src": "49365:4:17" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51715:9:14" + "src": "49371:9:17" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "51705:3:14" + "src": "49361:3:17" }, "nodeType": "YulFunctionCall", - "src": "51705:20:14" + "src": "49361:20:17" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51679:6:14" + "src": "49335:6:17" }, "nodeType": "YulFunctionCall", - "src": "51679:47:14" + "src": "49335:47:17" }, "nodeType": "YulExpressionStatement", - "src": "51679:47:14" + "src": "49335:47:17" }, { "nodeType": "YulAssignment", - "src": "51735:139:14", + "src": "49391:139:17", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51869:4:14" + "src": "49525:4:17" } ], "functionName": { "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "51743:124:14" + "src": "49399:124:17" }, "nodeType": "YulFunctionCall", - "src": "51743:131:14" + "src": "49399:131:17" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51735:4:14" + "src": "49391:4:17" } ] } @@ -25279,7 +23922,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "51613:9:14", + "src": "49269:9:17", "type": "" } ], @@ -25287,16 +23930,180 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "51628:4:14", + "src": "49284:4:17", "type": "" } ], - "src": "51462:419:14" + "src": "49118:419:17" }, { "body": { "nodeType": "YulBlock", - "src": "51915:152:14", + "src": "49588:146:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49598:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "49621:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "49603:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "49603:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "49598:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "49632:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "49655:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "49637:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "49637:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "49632:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49679:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "49681:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "49681:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "49681:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "49673:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "49676:1:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "49670:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "49670:8:17" + }, + "nodeType": "YulIf", + "src": "49667:34:17" + }, + { + "nodeType": "YulAssignment", + "src": "49711:17:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "49723:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "49726:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49719:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "49719:9:17" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "49711:4:17" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "49574:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "49577:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "49583:4:17", + "type": "" + } + ], + "src": "49543:191:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49768:152:17", "statements": [ { "expression": { @@ -25304,14 +24111,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "51932:1:14", + "src": "49785:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51935:77:14", + "src": "49788:77:17", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -25319,13 +24126,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51925:6:14" + "src": "49778:6:17" }, "nodeType": "YulFunctionCall", - "src": "51925:88:14" + "src": "49778:88:17" }, "nodeType": "YulExpressionStatement", - "src": "51925:88:14" + "src": "49778:88:17" }, { "expression": { @@ -25333,14 +24140,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "52029:1:14", + "src": "49882:1:17", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "52032:4:14", + "src": "49885:4:17", "type": "", "value": "0x31" } @@ -25348,13 +24155,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "52022:6:14" + "src": "49875:6:17" }, "nodeType": "YulFunctionCall", - "src": "52022:15:14" + "src": "49875:15:17" }, "nodeType": "YulExpressionStatement", - "src": "52022:15:14" + "src": "49875:15:17" }, { "expression": { @@ -25362,14 +24169,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "52053:1:14", + "src": "49906:1:17", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "52056:4:14", + "src": "49909:4:17", "type": "", "value": "0x24" } @@ -25377,113 +24184,134 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "52046:6:14" + "src": "49899:6:17" }, "nodeType": "YulFunctionCall", - "src": "52046:15:14" + "src": "49899:15:17" }, "nodeType": "YulExpressionStatement", - "src": "52046:15:14" + "src": "49899:15:17" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "51887:180:14" + "src": "49740:180:17" } ] }, - "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_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(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_bytes4(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 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(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(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_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_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 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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_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_bytes32(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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\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 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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\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(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_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(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_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_bytes_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 abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_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(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_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_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approved query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__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_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__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_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not ow\")\n\n mstore(add(memPtr, 32), \"ner nor approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__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_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer caller is not o\")\n\n mstore(add(memPtr, 32), \"wner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__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_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too many\")\n\n }\n\n function abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__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_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack( tail)\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\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be valid tokenId\")\n\n }\n\n function abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already unlocked\")\n\n }\n\n function abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__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_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: owner query for nonexist\")\n\n mstore(add(memPtr, 32), \"ent token\")\n\n }\n\n function abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__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_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: balance query for the ze\")\n\n mstore(add(memPtr, 32), \"ro address\")\n\n }\n\n function abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__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_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(memPtr) {\n\n mstore(add(memPtr, 0), \"TokenId not exists\")\n\n }\n\n function abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f__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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not burn locked token\")\n\n }\n\n function abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573__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_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(memPtr) {\n\n mstore(add(memPtr, 0), \"current address is not owner of \")\n\n mstore(add(memPtr, 32), \"this item now\")\n\n }\n\n function abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef__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_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Metadata: URI query for no\")\n\n mstore(add(memPtr, 32), \"nexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__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_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already locked\")\n\n }\n\n function abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: operator query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__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_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__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_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__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_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__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_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not transfer locked token\")\n\n }\n\n function abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__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_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(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_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__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_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", - "id": 14, + "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_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(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_bytes4(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 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(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(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_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_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 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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_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_bytes32(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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(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_bool(add(headStart, offset), dataEnd)\n }\n\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 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_bytes_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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_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(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_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_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e(memPtr) {\n\n mstore(add(memPtr, 0), \"batch size too short\")\n\n }\n\n function abi_encode_t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e__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_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__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_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__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_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__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_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too small\")\n\n }\n\n function abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__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_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too many\")\n\n }\n\n function abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__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_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack( tail)\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\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be valid tokenId\")\n\n }\n\n function abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already unlocked\")\n\n }\n\n function abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__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_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__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_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__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_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(memPtr) {\n\n mstore(add(memPtr, 0), \"TokenId not exists\")\n\n }\n\n function abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f__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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not burn locked token\")\n\n }\n\n function abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573__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_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(memPtr) {\n\n mstore(add(memPtr, 0), \"current address is not owner of \")\n\n mstore(add(memPtr, 32), \"this item now\")\n\n }\n\n function abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef__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_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(memPtr) {\n\n mstore(add(memPtr, 0), \"URI query for nonexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__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_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 }\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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already locked\")\n\n }\n\n function abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__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_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__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_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__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_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(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_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__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_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__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_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", + "id": 17, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "195:4990:13:-:0;;;299:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;768:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;868:5;875:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;890:46:13::1;413:24;2072:4:0;917:18:13::0;::::1;890:13;;;:46;;:::i;:::-;942:44;477:22;2072:4:0;967:18:13::0;::::1;942:13;;;:44;;:::i;:::-;992;539:22;2072:4:0;1017:18:13::0;::::1;992:13;;;:44;;:::i;:::-;1043:42;2072:4:0;1054:18:13::0;::::1;1074:10;1043;;;:42;;:::i;:::-;1091:35;413:24;1115:10;1091;;;:35;;:::i;:::-;1132:33;477:22;1154:10;1132;;;:33;;:::i;:::-;1171;539:22;1193:10;1171;;;:33;;:::i;:::-;1224:11;1210:25;;;;::::0;::::1;768:472:::0;;;195:4990;;6492:247:0;6575:25;6603:18;6616:4;6603:12;;;:18;;:::i;:::-;6575:46;;6656:9;6631:6;:12;6638:4;6631:12;;;;;;;;;;;:22;;:34;;;;6722:9;6703:17;6697:4;6680:52;;;;;;;;;;6565:174;6492:247;;:::o;6257:110::-;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::o;4008:129::-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;2909:145::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;195:4990:13:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;195:4990:13:-;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "195:4990:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4492:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3537:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;565:36:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2518:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4726:330:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;503:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2654:77:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:179:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1749:583:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1798:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2385:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1354:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3539:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:235:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:91:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3974:138:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2650:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2785:87:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4837:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2924:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:320:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;441:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:329:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;375:62:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;251:44:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3215:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4502:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3831:103:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4492:208;4638:4;4659:36;4683:11;4659:23;:36::i;:::-;4652:43;;4492:208;;;:::o;2488:98:2:-;2542:13;2574:5;2567:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:98;:::o;3999:217::-;4075:7;4102:16;4110:7;4102;:16::i;:::-;4094:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4185:15;:24;4201:7;4185:24;;;;;;;;;;;;;;;;;;;;;4178:31;;3999:217;;;:::o;3537:401::-;3617:13;3633:23;3648:7;3633:14;:23::i;:::-;3617:39;;3680:5;3674:11;;:2;:11;;;;3666:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3771:5;3755:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3780:37;3797:5;3804:12;:10;:12::i;:::-;3780:16;:37::i;:::-;3755:62;3734:165;;;;;;;;;;;;:::i;:::-;;;;;;;;;3910:21;3919:2;3923:7;3910:8;:21::i;:::-;3607:331;3537:401;;:::o;1615:111:5:-;1676:7;1702:10;:17;;;;1695:24;;1615:111;:::o;565:36:13:-;;;:::o;2518:83::-;2569:27;413:24;2593:2;2569:10;:27::i;:::-;2518:83;:::o;4726:330:2:-;4915:41;4934:12;:10;:12::i;:::-;4948:7;4915:18;:41::i;:::-;4907:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5021:28;5031:4;5037:2;5041:7;5021:9;:28::i;:::-;4726:330;;;:::o;4008:129:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;503:58:13:-;539:22;503:58;:::o;4387:145:0:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;1291:253:5:-;1388:7;1423:23;1440:5;1423:16;:23::i;:::-;1415:5;:31;1407:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1511:12;:19;1524:5;1511:19;;;;;;;;;;;;;;;:26;1531:5;1511:26;;;;;;;;;;;;1504:33;;1291:253;;;;:::o;2654:77:13:-;2702:24;477:22;2723:2;2702:9;:24::i;:::-;2654:77;:::o;5404:214:0:-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;5122:179:2:-;5255:39;5272:4;5278:2;5282:7;5255:39;;;;;;;;;;;;:16;:39::i;:::-;5122:179;;;:::o;1749:583:13:-;1847:16;413:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1888:3:13::1;1879:5;:12;;1871:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1937:1;1923:11;:15;1919:134;;;1992:11;1982:5;1966:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1965:38;;1948:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1919:134;2058:25;2100:5;2086:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:48;;2117:9;2112:161;2136:5;2132:1;:9;2112:161;;;2170:1;2156:10;;:15;;;;;;;:::i;:::-;;;;;;;;2179;2197:10;;2179:28;;2215:22;2225:2;2229:7;2215:9;:22::i;:::-;2259:7;2245:8;2254:1;2245:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2148:125;2143:3;;;;;:::i;:::-;;;;2112:161;;;;2293:2;2283:23;;;2297:8;2283:23;;;;;;:::i;:::-;;;;;;;;2319:8;2312:15;;;1749:583:::0;;;;;:::o;1798:230:5:-;1873:7;1908:30;:28;:30::i;:::-;1900:5;:38;1892:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2004:10;2015:5;2004:17;;;;;;;;:::i;:::-;;;;;;;;;;1997:24;;1798:230;;;:::o;2385:79:13:-;2433:26;413:24;2456:2;2433:9;:26::i;:::-;2385:79;:::o;1354:125::-;2072:4:0;1424:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1466:8:13::1;1450:13;:24;;;;;;;;;;;;:::i;:::-;;1354:125:::0;;:::o;3539:250::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3615:16:13::1;3623:7;3615;:16::i;:::-;3607:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3671:12;:21;3684:7;3671:21;;;;;;;;;;;;;;;;;;;;;3663:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3753:5;3729:12;:21;3742:7;3729:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3776:7;3769:15;;;;;;;;;;3539:250:::0;;:::o;2191:235:2:-;2263:7;2282:13;2298:7;:16;2306:7;2298:16;;;;;;;;;;;;;;;;;;;;;2282:32;;2349:1;2332:19;;:5;:19;;;;2324:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2414:5;2407:12;;;2191:235;;;:::o;1929:205::-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2111:9;:16;2121:5;2111:16;;;;;;;;;;;;;;;;2104:23;;1929:205;;;:::o;3058:91:13:-;3114:30;539:22;3136:7;3114:10;:30::i;:::-;3058:91;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;3974:138:13:-;2072:4:0;4053:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4095:12:13::1;;4079:13;:28;;;;;;;:::i;:::-;;3974:138:::0;;;:::o;2650:102:2:-;2706:13;2738:7;2731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:102;:::o;2785:87:13:-;2839:28;477:22;2861:5;2839:10;:28::i;:::-;2785:87;:::o;4837:346::-;477:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4946:16:13::1;4954:7;4946;:16::i;:::-;4938:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5000:12;:21;5013:7;5000:21;;;;;;;;;;;;;;;;;;;;;4999:22;4991:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5092:5;5072:25;;:16;5080:7;5072;:16::i;:::-;:25;;;5057:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;5164:14;5170:7;5164:5;:14::i;:::-;4837:346:::0;;;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;4283:153:2:-;4377:52;4396:12;:10;:12::i;:::-;4410:8;4420;4377:18;:52::i;:::-;4283:153;;:::o;2924:79:13:-;2974:24;539:22;2995:2;2974:9;:24::i;:::-;2924:79;:::o;5367:320:2:-;5536:41;5555:12;:10;:12::i;:::-;5569:7;5536:18;:41::i;:::-;5528:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5641:39;5655:4;5661:2;5665:7;5674:5;5641:13;:39::i;:::-;5367:320;;;;:::o;441:58:13:-;477:22;441:58;:::o;2818:329:2:-;2891:13;2924:16;2932:7;2924;:16::i;:::-;2916:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;3003:21;3027:10;:8;:10::i;:::-;3003:34;;3078:1;3060:7;3054:21;:25;:86;;;;;;;;;;;;;;;;;3106:7;3115:18;:7;:16;:18::i;:::-;3089:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3054:86;3047:93;;;2818:329;;;:::o;375:62:13:-;413:24;375:62;:::o;4766:147:0:-;4850:18;4863:4;4850:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4880:26:::1;4892:4;4898:7;4880:11;:26::i;:::-;4766:147:::0;;;:::o;251:44:13:-;;;;;;;;;;;;;;;;;;;;;;:::o;3215:244::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3289:16:13::1;3297:7;3289;:16::i;:::-;3281:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3346:12;:21;3359:7;3346:21;;;;;;;;;;;;;;;;;;;;;3345:22;3337:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3426:4;3402:12;:21;3415:7;3402:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3446:7;3441:13;;;;;;;;;;3215:244:::0;;:::o;4502:162:2:-;4599:4;4622:18;:25;4641:5;4622:25;;;;;;;;;;;;;;;:35;4648:8;4622:35;;;;;;;;;;;;;;;;;;;;;;;;;4615:42;;4502:162;;;;:::o;3831:103:13:-;3889:4;3908:12;:21;3921:7;3908:21;;;;;;;;;;;;;;;;;;;;;3901:28;;3831:103;;;:::o;990:222:5:-;1092:4;1130:35;1115:50;;;:11;:50;;;;:90;;;;1169:36;1193:11;1169:23;:36::i;:::-;1115:90;1108:97;;990:222;;;:::o;7159:125:2:-;7224:4;7275:1;7247:30;;:7;:16;7255:7;7247:16;;;;;;;;;;;;;;;;;;;;;:30;;;;7240:37;;7159:125;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;11168:171:2:-;11269:2;11242:15;:24;11258:7;11242:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11324:7;11320:2;11286:46;;11295:23;11310:7;11295:14;:23::i;:::-;11286:46;;;;;;;;;;;;11168:171;;:::o;7442:344::-;7535:4;7559:16;7567:7;7559;:16::i;:::-;7551:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7634:13;7650:23;7665:7;7650:14;:23::i;:::-;7634:39;;7702:5;7691:16;;:7;:16;;;:51;;;;7735:7;7711:31;;:20;7723:7;7711:11;:20::i;:::-;:31;;;7691:51;:87;;;;7746:32;7763:5;7770:7;7746:16;:32::i;:::-;7691:87;7683:96;;;7442:344;;;;:::o;10452:605::-;10606:4;10579:31;;:23;10594:7;10579:14;:23::i;:::-;:31;;;10571:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10684:1;10670:16;;:2;:16;;;;10662:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10738:39;10759:4;10765:2;10769:7;10738:20;:39::i;:::-;10839:29;10856:1;10860:7;10839:8;:29::i;:::-;10898:1;10879:9;:15;10889:4;10879:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;10926:1;10909:9;:13;10919:2;10909:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;10956:2;10937:7;:16;10945:7;10937:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10993:7;10989:2;10974:27;;10983:4;10974:27;;;;;;;;;;;;11012:38;11032:4;11038:2;11042:7;11012:19;:38::i;:::-;10452:605;;;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7219:234::-;7302:22;7310:4;7316:7;7302;:22::i;:::-;7298:149;;;7372:5;7340:6;:12;7347:4;7340:12;;;;;;;;;;;:20;;:29;7361:7;7340:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7423:12;:10;:12::i;:::-;7396:40;;7414:7;7396:40;;7408:4;7396:40;;;;;;;;;;7298:149;7219:234;;:::o;8116:108:2:-;8191:26;8201:2;8205:7;8191:26;;;;;;;;;;;;:9;:26::i;:::-;8116:108;;:::o;9722:406::-;9781:13;9797:23;9812:7;9797:14;:23::i;:::-;9781:39;;9831:48;9852:5;9867:1;9871:7;9831:20;:48::i;:::-;9917:29;9934:1;9938:7;9917:8;:29::i;:::-;9977:1;9957:9;:16;9967:5;9957:16;;;;;;;;;;;;;;;;:21;;;;;;;:::i;:::-;;;;;;;;9995:7;:16;10003:7;9995:16;;;;;;;;;;;;9988:23;;;;;;;;;;;10055:7;10051:1;10027:36;;10036:5;10027:36;;;;;;;;;;;;10074:47;10094:5;10109:1;10113:7;10074:19;:47::i;:::-;9771:357;9722:406;:::o;11474:307::-;11624:8;11615:17;;:5;:17;;;;11607:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;11710:8;11672:18;:25;11691:5;11672:25;;;;;;;;;;;;;;;:35;11698:8;11672:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11755:8;11733:41;;11748:5;11733:41;;;11765:8;11733:41;;;;;;:::i;:::-;;;;;;;;11474:307;;;:::o;6549:::-;6700:28;6710:4;6716:2;6720:7;6700:9;:28::i;:::-;6746:48;6769:4;6775:2;6779:7;6788:5;6746:22;:48::i;:::-;6738:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6549:307;;;;:::o;1244:106:13:-;1304:13;1332;1325:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:106;:::o;328:703:10:-;384:13;610:1;601:5;:10;597:51;;;627:10;;;;;;;;;;;;;;;;;;;;;597:51;657:12;672:5;657:20;;687:14;711:75;726:1;718:4;:9;711:75;;743:8;;;;;:::i;:::-;;;;773:2;765:10;;;;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;795:39;;844:150;860:1;851:5;:10;844:150;;887:1;877:11;;;;;:::i;:::-;;;953:2;945:5;:10;;;;:::i;:::-;932:2;:24;;;;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;981:2;972:11;;;;;:::i;:::-;;;844:150;;;1017:6;1003:21;;;;;328:703;;;;:::o;1570:300:2:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;4174:259:13:-;4322:12;:21;4335:7;4322:21;;;;;;;;;;;;;;;;;;;;;4321:22;4313:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4383:45;4410:4;4416:2;4420:7;4383:26;:45::i;:::-;4174:259;;;:::o;14162:121:2:-;;;;:::o;1588:441:10:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;:::i;:::-;;;;;1854:6;1861:1;1854:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;8445:311:2:-;8570:18;8576:2;8580:7;8570:5;:18::i;:::-;8619:54;8650:1;8654:2;8658:7;8667:5;8619:22;:54::i;:::-;8598:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;8445:311;;;:::o;12334:778::-;12484:4;12504:15;:2;:13;;;:15::i;:::-;12500:606;;;12555:2;12539:36;;;12576:12;:10;:12::i;:::-;12590:4;12596:7;12605:5;12539:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;12535:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12795:1;12778:6;:13;:18;12774:266;;;12820:60;;;;;;;;;;:::i;:::-;;;;;;;;12774:266;12992:6;12986:13;12977:6;12973:2;12969:15;12962:38;12535:519;12671:41;;;12661:51;;;:6;:51;;;;12654:58;;;;;12500:606;13091:4;13084:11;;12334:778;;;;;;;:::o;2620:202:0:-;2705:4;2743:32;2728:47;;;:11;:47;;;;:87;;;;2779:36;2803:11;2779:23;:36::i;:::-;2728:87;2721:94;;2620:202;;;:::o;2624:572:5:-;2763:45;2790:4;2796:2;2800:7;2763:26;:45::i;:::-;2839:1;2823:18;;:4;:18;;;2819:183;;;2857:40;2889:7;2857:31;:40::i;:::-;2819:183;;;2926:2;2918:10;;:4;:10;;;2914:88;;2944:47;2977:4;2983:7;2944:32;:47::i;:::-;2914:88;2819:183;3029:1;3015:16;;:2;:16;;;3011:179;;;3047:45;3084:7;3047:36;:45::i;:::-;3011:179;;;3119:4;3113:10;;:2;:10;;;3109:81;;3139:40;3167:2;3171:7;3139:27;:40::i;:::-;3109:81;3011:179;2624:572;;;:::o;9078:427:2:-;9171:1;9157:16;;:2;:16;;;;9149:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9229:16;9237:7;9229;:16::i;:::-;9228:17;9220:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9289:45;9318:1;9322:2;9326:7;9289:20;:45::i;:::-;9362:1;9345:9;:13;9355:2;9345:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;9392:2;9373:7;:16;9381:7;9373:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9435:7;9431:2;9410:33;;9427:1;9410:33;;;;;;;;;;;;9454:44;9482:1;9486:2;9490:7;9454:19;:44::i;:::-;9078:427;;:::o;1175:320:8:-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;829:155:11:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13668:122:2:-;;;;:::o;3902:161:5:-;4005:10;:17;;;;3978:15;:24;3994:7;3978:24;;;;;;;;;;;:44;;;;4032:10;4048:7;4032:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:161;:::o;4680:970::-;4942:22;4992:1;4967:22;4984:4;4967:16;:22::i;:::-;:26;;;;:::i;:::-;4942:51;;5003:18;5024:17;:26;5042:7;5024:26;;;;;;;;;;;;5003:47;;5168:14;5154:10;:28;5150:323;;5198:19;5220:12;:18;5233:4;5220:18;;;;;;;;;;;;;;;:34;5239:14;5220:34;;;;;;;;;;;;5198:56;;5302:11;5269:12;:18;5282:4;5269:18;;;;;;;;;;;;;;;:30;5288:10;5269:30;;;;;;;;;;;:44;;;;5418:10;5385:17;:30;5403:11;5385:30;;;;;;;;;;;:43;;;;5184:289;5150:323;5566:17;:26;5584:7;5566:26;;;;;;;;;;;5559:33;;;5609:12;:18;5622:4;5609:18;;;;;;;;;;;;;;;:34;5628:14;5609:34;;;;;;;;;;;5602:41;;;4761:889;;4680:970;;:::o;5938:1061::-;6187:22;6232:1;6212:10;:17;;;;:21;;;;:::i;:::-;6187:46;;6243:18;6264:15;:24;6280:7;6264:24;;;;;;;;;;;;6243:45;;6610:19;6632:10;6643:14;6632:26;;;;;;;;:::i;:::-;;;;;;;;;;6610:48;;6694:11;6669:10;6680;6669:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6804:10;6773:15;:28;6789:11;6773:28;;;;;;;;;;;:41;;;;6942:15;:24;6958:7;6942:24;;;;;;;;;;;6935:31;;;6976:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6009:990;;;5938:1061;:::o;3490:217::-;3574:14;3591:20;3608:2;3591:16;:20::i;:::-;3574:37;;3648:7;3621:12;:16;3634:2;3621:16;;;;;;;;;;;;;;;:24;3638:6;3621:24;;;;;;;;;;;:34;;;;3694:6;3665:17;:26;3683:7;3665:26;;;;;;;;;;;:35;;;;3564:143;3490:217;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;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:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:114::-;7840:6;7874:5;7868:12;7858:22;;7773:114;;;:::o;7893:184::-;7992:11;8026:6;8021:3;8014:19;8066:4;8061:3;8057:14;8042:29;;7893:184;;;;:::o;8083:132::-;8150:4;8173:3;8165:11;;8203:4;8198:3;8194:14;8186:22;;8083:132;;;:::o;8221:108::-;8298:24;8316:5;8298:24;:::i;:::-;8293:3;8286:37;8221:108;;:::o;8335:179::-;8404:10;8425:46;8467:3;8459:6;8425:46;:::i;:::-;8503:4;8498:3;8494:14;8480:28;;8335:179;;;;:::o;8520:113::-;8590:4;8622;8617:3;8613:14;8605:22;;8520:113;;;:::o;8669:732::-;8788:3;8817:54;8865:5;8817:54;:::i;:::-;8887:86;8966:6;8961:3;8887:86;:::i;:::-;8880:93;;8997:56;9047:5;8997:56;:::i;:::-;9076:7;9107:1;9092:284;9117:6;9114:1;9111:13;9092:284;;;9193:6;9187:13;9220:63;9279:3;9264:13;9220:63;:::i;:::-;9213:70;;9306:60;9359:6;9306:60;:::i;:::-;9296:70;;9152:224;9139:1;9136;9132:9;9127:14;;9092:284;;;9096:14;9392:3;9385:10;;8793:608;;;8669:732;;;;:::o;9407:373::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9637:9;9631:4;9627:20;9623:1;9612:9;9608:17;9601:47;9665:108;9768:4;9759:6;9665:108;:::i;:::-;9657:116;;9407:373;;;;:::o;9786:117::-;9895:1;9892;9885:12;9909:117;10018:1;10015;10008:12;10032:180;10080:77;10077:1;10070:88;10177:4;10174:1;10167:15;10201:4;10198:1;10191:15;10218:281;10301:27;10323:4;10301:27;:::i;:::-;10293:6;10289:40;10431:6;10419:10;10416:22;10395:18;10383:10;10380:34;10377:62;10374:88;;;10442:18;;:::i;:::-;10374:88;10482:10;10478:2;10471:22;10261:238;10218:281;;:::o;10505:129::-;10539:6;10566:20;;:::i;:::-;10556:30;;10595:33;10623:4;10615:6;10595:33;:::i;:::-;10505:129;;;:::o;10640:308::-;10702:4;10792:18;10784:6;10781:30;10778:56;;;10814:18;;:::i;:::-;10778:56;10852:29;10874:6;10852:29;:::i;:::-;10844:37;;10936:4;10930;10926:15;10918:23;;10640:308;;;:::o;10954:154::-;11038:6;11033:3;11028;11015:30;11100:1;11091:6;11086:3;11082:16;11075:27;10954:154;;;:::o;11114:412::-;11192:5;11217:66;11233:49;11275:6;11233:49;:::i;:::-;11217:66;:::i;:::-;11208:75;;11306:6;11299:5;11292:21;11344:4;11337:5;11333:16;11382:3;11373:6;11368:3;11364:16;11361:25;11358:112;;;11389:79;;:::i;:::-;11358:112;11479:41;11513:6;11508:3;11503;11479:41;:::i;:::-;11198:328;11114:412;;;;;:::o;11546:340::-;11602:5;11651:3;11644:4;11636:6;11632:17;11628:27;11618:122;;11659:79;;:::i;:::-;11618:122;11776:6;11763:20;11801:79;11876:3;11868:6;11861:4;11853:6;11849:17;11801:79;:::i;:::-;11792:88;;11608:278;11546:340;;;;:::o;11892:509::-;11961:6;12010:2;11998:9;11989:7;11985:23;11981:32;11978:119;;;12016:79;;:::i;:::-;11978:119;12164:1;12153:9;12149:17;12136:31;12194:18;12186:6;12183:30;12180:117;;;12216:79;;:::i;:::-;12180:117;12321:63;12376:7;12367:6;12356:9;12352:22;12321:63;:::i;:::-;12311:73;;12107:287;11892:509;;;;:::o;12407:117::-;12516:1;12513;12506:12;12530:117;12639:1;12636;12629:12;12667:553;12725:8;12735:6;12785:3;12778:4;12770:6;12766:17;12762:27;12752:122;;12793:79;;:::i;:::-;12752:122;12906:6;12893:20;12883:30;;12936:18;12928:6;12925:30;12922:117;;;12958:79;;:::i;:::-;12922:117;13072:4;13064:6;13060:17;13048:29;;13126:3;13118:4;13110:6;13106:17;13096:8;13092:32;13089:41;13086:128;;;13133:79;;:::i;:::-;13086:128;12667:553;;;;;:::o;13226:529::-;13297:6;13305;13354:2;13342:9;13333:7;13329:23;13325:32;13322:119;;;13360:79;;:::i;:::-;13322:119;13508:1;13497:9;13493:17;13480:31;13538:18;13530:6;13527:30;13524:117;;;13560:79;;:::i;:::-;13524:117;13673:65;13730:7;13721:6;13710:9;13706:22;13673:65;:::i;:::-;13655:83;;;;13451:297;13226:529;;;;;:::o;13761:116::-;13831:21;13846:5;13831:21;:::i;:::-;13824:5;13821:32;13811:60;;13867:1;13864;13857:12;13811:60;13761:116;:::o;13883:133::-;13926:5;13964:6;13951:20;13942:29;;13980:30;14004:5;13980:30;:::i;:::-;13883:133;;;;:::o;14022:468::-;14087:6;14095;14144:2;14132:9;14123:7;14119:23;14115:32;14112:119;;;14150:79;;:::i;:::-;14112:119;14270:1;14295:53;14340:7;14331:6;14320:9;14316:22;14295:53;:::i;:::-;14285:63;;14241:117;14397:2;14423:50;14465:7;14456:6;14445:9;14441:22;14423:50;:::i;:::-;14413:60;;14368:115;14022:468;;;;;:::o;14496:307::-;14557:4;14647:18;14639:6;14636:30;14633:56;;;14669:18;;:::i;:::-;14633:56;14707:29;14729:6;14707:29;:::i;:::-;14699:37;;14791:4;14785;14781:15;14773:23;;14496:307;;;:::o;14809:410::-;14886:5;14911:65;14927:48;14968:6;14927:48;:::i;:::-;14911:65;:::i;:::-;14902:74;;14999:6;14992:5;14985:21;15037:4;15030:5;15026:16;15075:3;15066:6;15061:3;15057:16;15054:25;15051:112;;;15082:79;;:::i;:::-;15051:112;15172:41;15206:6;15201:3;15196;15172:41;:::i;:::-;14892:327;14809:410;;;;;:::o;15238:338::-;15293:5;15342:3;15335:4;15327:6;15323:17;15319:27;15309:122;;15350:79;;:::i;:::-;15309:122;15467:6;15454:20;15492:78;15566:3;15558:6;15551:4;15543:6;15539:17;15492:78;:::i;:::-;15483:87;;15299:277;15238:338;;;;:::o;15582:943::-;15677:6;15685;15693;15701;15750:3;15738:9;15729:7;15725:23;15721:33;15718:120;;;15757:79;;:::i;:::-;15718:120;15877:1;15902:53;15947:7;15938:6;15927:9;15923:22;15902:53;:::i;:::-;15892:63;;15848:117;16004:2;16030:53;16075:7;16066:6;16055:9;16051:22;16030:53;:::i;:::-;16020:63;;15975:118;16132:2;16158:53;16203:7;16194:6;16183:9;16179:22;16158:53;:::i;:::-;16148:63;;16103:118;16288:2;16277:9;16273:18;16260:32;16319:18;16311:6;16308:30;16305:117;;;16341:79;;:::i;:::-;16305:117;16446:62;16500:7;16491:6;16480:9;16476:22;16446:62;:::i;:::-;16436:72;;16231:287;15582:943;;;;;;;:::o;16531:474::-;16599:6;16607;16656:2;16644:9;16635:7;16631:23;16627:32;16624:119;;;16662:79;;:::i;:::-;16624:119;16782:1;16807:53;16852:7;16843:6;16832:9;16828:22;16807:53;:::i;:::-;16797:63;;16753:117;16909:2;16935:53;16980:7;16971:6;16960:9;16956:22;16935:53;:::i;:::-;16925:63;;16880:118;16531:474;;;;;:::o;17011:180::-;17059:77;17056:1;17049:88;17156:4;17153:1;17146:15;17180:4;17177:1;17170:15;17197:320;17241:6;17278:1;17272:4;17268:12;17258:22;;17325:1;17319:4;17315:12;17346:18;17336:81;;17402:4;17394:6;17390:17;17380:27;;17336:81;17464:2;17456:6;17453:14;17433:18;17430:38;17427:84;;;17483:18;;:::i;:::-;17427:84;17248:269;17197:320;;;:::o;17523:231::-;17663:34;17659:1;17651:6;17647:14;17640:58;17732:14;17727:2;17719:6;17715:15;17708:39;17523:231;:::o;17760:366::-;17902:3;17923:67;17987:2;17982:3;17923:67;:::i;:::-;17916:74;;17999:93;18088:3;17999:93;:::i;:::-;18117:2;18112:3;18108:12;18101:19;;17760:366;;;:::o;18132:419::-;18298:4;18336:2;18325:9;18321:18;18313:26;;18385:9;18379:4;18375:20;18371:1;18360:9;18356:17;18349:47;18413:131;18539:4;18413:131;:::i;:::-;18405:139;;18132:419;;;:::o;18557:220::-;18697:34;18693:1;18685:6;18681:14;18674:58;18766:3;18761:2;18753:6;18749:15;18742:28;18557:220;:::o;18783:366::-;18925:3;18946:67;19010:2;19005:3;18946:67;:::i;:::-;18939:74;;19022:93;19111:3;19022:93;:::i;:::-;19140:2;19135:3;19131:12;19124:19;;18783:366;;;:::o;19155:419::-;19321:4;19359:2;19348:9;19344:18;19336:26;;19408:9;19402:4;19398:20;19394:1;19383:9;19379:17;19372:47;19436:131;19562:4;19436:131;:::i;:::-;19428:139;;19155:419;;;:::o;19580:243::-;19720:34;19716:1;19708:6;19704:14;19697:58;19789:26;19784:2;19776:6;19772:15;19765:51;19580:243;:::o;19829:366::-;19971:3;19992:67;20056:2;20051:3;19992:67;:::i;:::-;19985:74;;20068:93;20157:3;20068:93;:::i;:::-;20186:2;20181:3;20177:12;20170:19;;19829:366;;;:::o;20201:419::-;20367:4;20405:2;20394:9;20390:18;20382:26;;20454:9;20448:4;20444:20;20440:1;20429:9;20425:17;20418:47;20482:131;20608:4;20482:131;:::i;:::-;20474:139;;20201:419;;;:::o;20626:236::-;20766:34;20762:1;20754:6;20750:14;20743:58;20835:19;20830:2;20822:6;20818:15;20811:44;20626:236;:::o;20868:366::-;21010:3;21031:67;21095:2;21090:3;21031:67;:::i;:::-;21024:74;;21107:93;21196:3;21107:93;:::i;:::-;21225:2;21220:3;21216:12;21209:19;;20868:366;;;:::o;21240:419::-;21406:4;21444:2;21433:9;21429:18;21421:26;;21493:9;21487:4;21483:20;21479:1;21468:9;21464:17;21457:47;21521:131;21647:4;21521:131;:::i;:::-;21513:139;;21240:419;;;:::o;21665:230::-;21805:34;21801:1;21793:6;21789:14;21782:58;21874:13;21869:2;21861:6;21857:15;21850:38;21665:230;:::o;21901:366::-;22043:3;22064:67;22128:2;22123:3;22064:67;:::i;:::-;22057:74;;22140:93;22229:3;22140:93;:::i;:::-;22258:2;22253:3;22249:12;22242:19;;21901:366;;;:::o;22273:419::-;22439:4;22477:2;22466:9;22462:18;22454:26;;22526:9;22520:4;22516:20;22512:1;22501:9;22497:17;22490:47;22554:131;22680:4;22554:131;:::i;:::-;22546:139;;22273:419;;;:::o;22698:234::-;22838:34;22834:1;22826:6;22822:14;22815:58;22907:17;22902:2;22894:6;22890:15;22883:42;22698:234;:::o;22938:366::-;23080:3;23101:67;23165:2;23160:3;23101:67;:::i;:::-;23094:74;;23177:93;23266:3;23177:93;:::i;:::-;23295:2;23290:3;23286:12;23279:19;;22938:366;;;:::o;23310:419::-;23476:4;23514:2;23503:9;23499:18;23491:26;;23563:9;23557:4;23553:20;23549:1;23538:9;23534:17;23527:47;23591:131;23717:4;23591:131;:::i;:::-;23583:139;;23310:419;;;:::o;23735:167::-;23875:19;23871:1;23863:6;23859:14;23852:43;23735:167;:::o;23908:366::-;24050:3;24071:67;24135:2;24130:3;24071:67;:::i;:::-;24064:74;;24147:93;24236:3;24147:93;:::i;:::-;24265:2;24260:3;24256:12;24249:19;;23908:366;;;:::o;24280:419::-;24446:4;24484:2;24473:9;24469:18;24461:26;;24533:9;24527:4;24523:20;24519:1;24508:9;24504:17;24497:47;24561:131;24687:4;24561:131;:::i;:::-;24553:139;;24280:419;;;:::o;24705:180::-;24753:77;24750:1;24743:88;24850:4;24847:1;24840:15;24874:4;24871:1;24864:15;24891:305;24931:3;24950:20;24968:1;24950:20;:::i;:::-;24945:25;;24984:20;25002:1;24984:20;:::i;:::-;24979:25;;25138:1;25070:66;25066:74;25063:1;25060:81;25057:107;;;25144:18;;:::i;:::-;25057:107;25188:1;25185;25181:9;25174:16;;24891:305;;;;:::o;25202:173::-;25342:25;25338:1;25330:6;25326:14;25319:49;25202:173;:::o;25381:366::-;25523:3;25544:67;25608:2;25603:3;25544:67;:::i;:::-;25537:74;;25620:93;25709:3;25620:93;:::i;:::-;25738:2;25733:3;25729:12;25722:19;;25381:366;;;:::o;25753:419::-;25919:4;25957:2;25946:9;25942:18;25934:26;;26006:9;26000:4;25996:20;25992:1;25981:9;25977:17;25970:47;26034:131;26160:4;26034:131;:::i;:::-;26026:139;;25753:419;;;:::o;26178:180::-;26226:77;26223:1;26216:88;26323:4;26320:1;26313:15;26347:4;26344:1;26337:15;26364:233;26403:3;26426:24;26444:5;26426:24;:::i;:::-;26417:33;;26472:66;26465:5;26462:77;26459:103;;;26542:18;;:::i;:::-;26459:103;26589:1;26582:5;26578:13;26571:20;;26364:233;;;:::o;26603:231::-;26743:34;26739:1;26731:6;26727:14;26720:58;26812:14;26807:2;26799:6;26795:15;26788:39;26603:231;:::o;26840:366::-;26982:3;27003:67;27067:2;27062:3;27003:67;:::i;:::-;26996:74;;27079:93;27168:3;27079:93;:::i;:::-;27197:2;27192:3;27188:12;27181:19;;26840:366;;;:::o;27212:419::-;27378:4;27416:2;27405:9;27401:18;27393:26;;27465:9;27459:4;27455:20;27451:1;27440:9;27436:17;27429:47;27493:131;27619:4;27493:131;:::i;:::-;27485:139;;27212:419;;;:::o;27637:171::-;27777:23;27773:1;27765:6;27761:14;27754:47;27637:171;:::o;27814:366::-;27956:3;27977:67;28041:2;28036:3;27977:67;:::i;:::-;27970:74;;28053:93;28142:3;28053:93;:::i;:::-;28171:2;28166:3;28162:12;28155:19;;27814:366;;;:::o;28186:419::-;28352:4;28390:2;28379:9;28375:18;28367:26;;28439:9;28433:4;28429:20;28425:1;28414:9;28410:17;28403:47;28467:131;28593:4;28467:131;:::i;:::-;28459:139;;28186:419;;;:::o;28611:176::-;28751:28;28747:1;28739:6;28735:14;28728:52;28611:176;:::o;28793:366::-;28935:3;28956:67;29020:2;29015:3;28956:67;:::i;:::-;28949:74;;29032:93;29121:3;29032:93;:::i;:::-;29150:2;29145:3;29141:12;29134:19;;28793:366;;;:::o;29165:419::-;29331:4;29369:2;29358:9;29354:18;29346:26;;29418:9;29412:4;29408:20;29404:1;29393:9;29389:17;29382:47;29446:131;29572:4;29446:131;:::i;:::-;29438:139;;29165:419;;;:::o;29590:228::-;29730:34;29726:1;29718:6;29714:14;29707:58;29799:11;29794:2;29786:6;29782:15;29775:36;29590:228;:::o;29824:366::-;29966:3;29987:67;30051:2;30046:3;29987:67;:::i;:::-;29980:74;;30063:93;30152:3;30063:93;:::i;:::-;30181:2;30176:3;30172:12;30165:19;;29824:366;;;:::o;30196:419::-;30362:4;30400:2;30389:9;30385:18;30377:26;;30449:9;30443:4;30439:20;30435:1;30424:9;30420:17;30413:47;30477:131;30603:4;30477:131;:::i;:::-;30469:139;;30196:419;;;:::o;30621:229::-;30761:34;30757:1;30749:6;30745:14;30738:58;30830:12;30825:2;30817:6;30813:15;30806:37;30621:229;:::o;30856:366::-;30998:3;31019:67;31083:2;31078:3;31019:67;:::i;:::-;31012:74;;31095:93;31184:3;31095:93;:::i;:::-;31213:2;31208:3;31204:12;31197:19;;30856:366;;;:::o;31228:419::-;31394:4;31432:2;31421:9;31417:18;31409:26;;31481:9;31475:4;31471:20;31467:1;31456:9;31452:17;31445:47;31509:131;31635:4;31509:131;:::i;:::-;31501:139;;31228:419;;;:::o;31653:168::-;31793:20;31789:1;31781:6;31777:14;31770:44;31653:168;:::o;31827:366::-;31969:3;31990:67;32054:2;32049:3;31990:67;:::i;:::-;31983:74;;32066:93;32155:3;32066:93;:::i;:::-;32184:2;32179:3;32175:12;32168:19;;31827:366;;;:::o;32199:419::-;32365:4;32403:2;32392:9;32388:18;32380:26;;32452:9;32446:4;32442:20;32438:1;32427:9;32423:17;32416:47;32480:131;32606:4;32480:131;:::i;:::-;32472:139;;32199:419;;;:::o;32624:175::-;32764:27;32760:1;32752:6;32748:14;32741:51;32624:175;:::o;32805:366::-;32947:3;32968:67;33032:2;33027:3;32968:67;:::i;:::-;32961:74;;33044:93;33133:3;33044:93;:::i;:::-;33162:2;33157:3;33153:12;33146:19;;32805:366;;;:::o;33177:419::-;33343:4;33381:2;33370:9;33366:18;33358:26;;33430:9;33424:4;33420:20;33416:1;33405:9;33401:17;33394:47;33458:131;33584:4;33458:131;:::i;:::-;33450:139;;33177:419;;;:::o;33602:232::-;33742:34;33738:1;33730:6;33726:14;33719:58;33811:15;33806:2;33798:6;33794:15;33787:40;33602:232;:::o;33840:366::-;33982:3;34003:67;34067:2;34062:3;34003:67;:::i;:::-;33996:74;;34079:93;34168:3;34079:93;:::i;:::-;34197:2;34192:3;34188:12;34181:19;;33840:366;;;:::o;34212:419::-;34378:4;34416:2;34405:9;34401:18;34393:26;;34465:9;34459:4;34455:20;34451:1;34440:9;34436:17;34429:47;34493:131;34619:4;34493:131;:::i;:::-;34485:139;;34212:419;;;:::o;34637:234::-;34777:34;34773:1;34765:6;34761:14;34754:58;34846:17;34841:2;34833:6;34829:15;34822:42;34637:234;:::o;34877:366::-;35019:3;35040:67;35104:2;35099:3;35040:67;:::i;:::-;35033:74;;35116:93;35205:3;35116:93;:::i;:::-;35234:2;35229:3;35225:12;35218:19;;34877:366;;;:::o;35249:419::-;35415:4;35453:2;35442:9;35438:18;35430:26;;35502:9;35496:4;35492:20;35488:1;35477:9;35473:17;35466:47;35530:131;35656:4;35530:131;:::i;:::-;35522:139;;35249:419;;;:::o;35674:148::-;35776:11;35813:3;35798:18;;35674:148;;;;:::o;35828:377::-;35934:3;35962:39;35995:5;35962:39;:::i;:::-;36017:89;36099:6;36094:3;36017:89;:::i;:::-;36010:96;;36115:52;36160:6;36155:3;36148:4;36141:5;36137:16;36115:52;:::i;:::-;36192:6;36187:3;36183:16;36176:23;;35938:267;35828:377;;;;:::o;36211:435::-;36391:3;36413:95;36504:3;36495:6;36413:95;:::i;:::-;36406:102;;36525:95;36616:3;36607:6;36525:95;:::i;:::-;36518:102;;36637:3;36630:10;;36211:435;;;;;:::o;36652:174::-;36792:26;36788:1;36780:6;36776:14;36769:50;36652:174;:::o;36832:366::-;36974:3;36995:67;37059:2;37054:3;36995:67;:::i;:::-;36988:74;;37071:93;37160:3;37071:93;:::i;:::-;37189:2;37184:3;37180:12;37173:19;;36832:366;;;:::o;37204:419::-;37370:4;37408:2;37397:9;37393:18;37385:26;;37457:9;37451:4;37447:20;37443:1;37432:9;37428:17;37421:47;37485:131;37611:4;37485:131;:::i;:::-;37477:139;;37204:419;;;:::o;37629:231::-;37769:34;37765:1;37757:6;37753:14;37746:58;37838:14;37833:2;37825:6;37821:15;37814:39;37629:231;:::o;37866:366::-;38008:3;38029:67;38093:2;38088:3;38029:67;:::i;:::-;38022:74;;38105:93;38194:3;38105:93;:::i;:::-;38223:2;38218:3;38214:12;38207:19;;37866:366;;;:::o;38238:419::-;38404:4;38442:2;38431:9;38427:18;38419:26;;38491:9;38485:4;38481:20;38477:1;38466:9;38462:17;38455:47;38519:131;38645:4;38519:131;:::i;:::-;38511:139;;38238:419;;;:::o;38663:224::-;38803:34;38799:1;38791:6;38787:14;38780:58;38872:7;38867:2;38859:6;38855:15;38848:32;38663:224;:::o;38893:366::-;39035:3;39056:67;39120:2;39115:3;39056:67;:::i;:::-;39049:74;;39132:93;39221:3;39132:93;:::i;:::-;39250:2;39245:3;39241:12;39234:19;;38893:366;;;:::o;39265:419::-;39431:4;39469:2;39458:9;39454:18;39446:26;;39518:9;39512:4;39508:20;39504:1;39493:9;39489:17;39482:47;39546:131;39672:4;39546:131;:::i;:::-;39538:139;;39265:419;;;:::o;39690:223::-;39830:34;39826:1;39818:6;39814:14;39807:58;39899:6;39894:2;39886:6;39882:15;39875:31;39690:223;:::o;39919:366::-;40061:3;40082:67;40146:2;40141:3;40082:67;:::i;:::-;40075:74;;40158:93;40247:3;40158:93;:::i;:::-;40276:2;40271:3;40267:12;40260:19;;39919:366;;;:::o;40291:419::-;40457:4;40495:2;40484:9;40480:18;40472:26;;40544:9;40538:4;40534:20;40530:1;40519:9;40515:17;40508:47;40572:131;40698:4;40572:131;:::i;:::-;40564:139;;40291:419;;;:::o;40716:191::-;40756:4;40776:20;40794:1;40776:20;:::i;:::-;40771:25;;40810:20;40828:1;40810:20;:::i;:::-;40805:25;;40849:1;40846;40843:8;40840:34;;;40854:18;;:::i;:::-;40840:34;40899:1;40896;40892:9;40884:17;;40716:191;;;;:::o;40913:173::-;41053:25;41049:1;41041:6;41037:14;41030:49;40913:173;:::o;41092:402::-;41252:3;41273:85;41355:2;41350:3;41273:85;:::i;:::-;41266:92;;41367:93;41456:3;41367:93;:::i;:::-;41485:2;41480:3;41476:12;41469:19;;41092:402;;;:::o;41500:167::-;41640:19;41636:1;41628:6;41624:14;41617:43;41500:167;:::o;41673:402::-;41833:3;41854:85;41936:2;41931:3;41854:85;:::i;:::-;41847:92;;41948:93;42037:3;41948:93;:::i;:::-;42066:2;42061:3;42057:12;42050:19;;41673:402;;;:::o;42081:967::-;42463:3;42485:148;42629:3;42485:148;:::i;:::-;42478:155;;42650:95;42741:3;42732:6;42650:95;:::i;:::-;42643:102;;42762:148;42906:3;42762:148;:::i;:::-;42755:155;;42927:95;43018:3;43009:6;42927:95;:::i;:::-;42920:102;;43039:3;43032:10;;42081:967;;;;;:::o;43054:175::-;43194:27;43190:1;43182:6;43178:14;43171:51;43054:175;:::o;43235:366::-;43377:3;43398:67;43462:2;43457:3;43398:67;:::i;:::-;43391:74;;43474:93;43563:3;43474:93;:::i;:::-;43592:2;43587:3;43583:12;43576:19;;43235:366;;;:::o;43607:419::-;43773:4;43811:2;43800:9;43796:18;43788:26;;43860:9;43854:4;43850:20;43846:1;43835:9;43831:17;43824:47;43888:131;44014:4;43888:131;:::i;:::-;43880:139;;43607:419;;;:::o;44032:237::-;44172:34;44168:1;44160:6;44156:14;44149:58;44241:20;44236:2;44228:6;44224:15;44217:45;44032:237;:::o;44275:366::-;44417:3;44438:67;44502:2;44497:3;44438:67;:::i;:::-;44431:74;;44514:93;44603:3;44514:93;:::i;:::-;44632:2;44627:3;44623:12;44616:19;;44275:366;;;:::o;44647:419::-;44813:4;44851:2;44840:9;44836:18;44828:26;;44900:9;44894:4;44890:20;44886:1;44875:9;44871:17;44864:47;44928:131;45054:4;44928:131;:::i;:::-;44920:139;;44647:419;;;:::o;45072:180::-;45120:77;45117:1;45110:88;45217:4;45214:1;45207:15;45241:4;45238:1;45231:15;45258:185;45298:1;45315:20;45333:1;45315:20;:::i;:::-;45310:25;;45349:20;45367:1;45349:20;:::i;:::-;45344:25;;45388:1;45378:35;;45393:18;;:::i;:::-;45378:35;45435:1;45432;45428:9;45423:14;;45258:185;;;;:::o;45449:176::-;45481:1;45498:20;45516:1;45498:20;:::i;:::-;45493:25;;45532:20;45550:1;45532:20;:::i;:::-;45527:25;;45571:1;45561:35;;45576:18;;:::i;:::-;45561:35;45617:1;45614;45610:9;45605:14;;45449:176;;;;:::o;45631:179::-;45771:31;45767:1;45759:6;45755:14;45748:55;45631:179;:::o;45816:366::-;45958:3;45979:67;46043:2;46038:3;45979:67;:::i;:::-;45972:74;;46055:93;46144:3;46055:93;:::i;:::-;46173:2;46168:3;46164:12;46157:19;;45816:366;;;:::o;46188:419::-;46354:4;46392:2;46381:9;46377:18;46369:26;;46441:9;46435:4;46431:20;46427:1;46416:9;46412:17;46405:47;46469:131;46595:4;46469:131;:::i;:::-;46461:139;;46188:419;;;:::o;46613:348::-;46653:7;46676:20;46694:1;46676:20;:::i;:::-;46671:25;;46710:20;46728:1;46710:20;:::i;:::-;46705:25;;46898:1;46830:66;46826:74;46823:1;46820:81;46815:1;46808:9;46801:17;46797:105;46794:131;;;46905:18;;:::i;:::-;46794:131;46953:1;46950;46946:9;46935:20;;46613:348;;;;:::o;46967:171::-;47006:3;47029:24;47047:5;47029:24;:::i;:::-;47020:33;;47075:4;47068:5;47065:15;47062:41;;;47083:18;;:::i;:::-;47062:41;47130:1;47123:5;47119:13;47112:20;;46967:171;;;:::o;47144:182::-;47284:34;47280:1;47272:6;47268:14;47261:58;47144:182;:::o;47332:366::-;47474:3;47495:67;47559:2;47554:3;47495:67;:::i;:::-;47488:74;;47571:93;47660:3;47571:93;:::i;:::-;47689:2;47684:3;47680:12;47673:19;;47332:366;;;:::o;47704:419::-;47870:4;47908:2;47897:9;47893:18;47885:26;;47957:9;47951:4;47947:20;47943:1;47932:9;47928:17;47921:47;47985:131;48111:4;47985:131;:::i;:::-;47977:139;;47704:419;;;:::o;48129:98::-;48180:6;48214:5;48208:12;48198:22;;48129:98;;;:::o;48233:168::-;48316:11;48350:6;48345:3;48338:19;48390:4;48385:3;48381:14;48366:29;;48233:168;;;;:::o;48407:360::-;48493:3;48521:38;48553:5;48521:38;:::i;:::-;48575:70;48638:6;48633:3;48575:70;:::i;:::-;48568:77;;48654:52;48699:6;48694:3;48687:4;48680:5;48676:16;48654:52;:::i;:::-;48731:29;48753:6;48731:29;:::i;:::-;48726:3;48722:39;48715:46;;48497:270;48407:360;;;;:::o;48773:640::-;48968:4;49006:3;48995:9;48991:19;48983:27;;49020:71;49088:1;49077:9;49073:17;49064:6;49020:71;:::i;:::-;49101:72;49169:2;49158:9;49154:18;49145:6;49101:72;:::i;:::-;49183;49251:2;49240:9;49236:18;49227:6;49183:72;:::i;:::-;49302:9;49296:4;49292:20;49287:2;49276:9;49272:18;49265:48;49330:76;49401:4;49392:6;49330:76;:::i;:::-;49322:84;;48773:640;;;;;;;:::o;49419:141::-;49475:5;49506:6;49500:13;49491:22;;49522:32;49548:5;49522:32;:::i;:::-;49419:141;;;;:::o;49566:349::-;49635:6;49684:2;49672:9;49663:7;49659:23;49655:32;49652:119;;;49690:79;;:::i;:::-;49652:119;49810:1;49835:63;49890:7;49881:6;49870:9;49866:22;49835:63;:::i;:::-;49825:73;;49781:127;49566:349;;;;:::o;49921:182::-;50061:34;50057:1;50049:6;50045:14;50038:58;49921:182;:::o;50109:366::-;50251:3;50272:67;50336:2;50331:3;50272:67;:::i;:::-;50265:74;;50348:93;50437:3;50348:93;:::i;:::-;50466:2;50461:3;50457:12;50450:19;;50109:366;;;:::o;50481:419::-;50647:4;50685:2;50674:9;50670:18;50662:26;;50734:9;50728:4;50724:20;50720:1;50709:9;50705:17;50698:47;50762:131;50888:4;50762:131;:::i;:::-;50754:139;;50481:419;;;:::o;50906:178::-;51046:30;51042:1;51034:6;51030:14;51023:54;50906:178;:::o;51090:366::-;51232:3;51253:67;51317:2;51312:3;51253:67;:::i;:::-;51246:74;;51329:93;51418:3;51329:93;:::i;:::-;51447:2;51442:3;51438:12;51431:19;;51090:366;;;:::o;51462:419::-;51628:4;51666:2;51655:9;51651:18;51643:26;;51715:9;51709:4;51705:20;51701:1;51690:9;51686:17;51679:47;51743:131;51869:4;51743:131;:::i;:::-;51735:139;;51462:419;;;:::o;51887:180::-;51935:77;51932:1;51925:88;52032:4;52029:1;52022:15;52056:4;52053:1;52046:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract BEBadge is AccessControl, ERC721Enumerable {\n mapping(uint256 => bool) public lockedTokens;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n uint256 public immutable supplyLimit;\n uint256 tokenIndex;\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n event BatchMint(address indexed to, uint256[] tokenIds);\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(LOCK_ROLE, DEFAULT_ADMIN_ROLE);\n\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n _setupRole(BURN_ROLE, msg.sender);\n _setupRole(LOCK_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n function setBaseURI(\n string memory baseURI_\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _baseTokenURI = baseURI_;\n }\n\n /**\n * @dev Batch mint tokens and transfer to specified address.\n *\n * Requirements:\n * - Caller must have `MINTER_ROLE`.\n * - The total supply limit should not be exceeded.\n * - The number of tokenIds offered for minting should not exceed 100.\n */\n\n function batchMint(\n address to,\n uint256 count\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\n require(count <= 100, \"tokenIds too many\");\n if (supplyLimit > 0) {\n require(\n (totalSupply() + count) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n uint256[] memory tokenIds = new uint256[](count);\n for (uint256 i = 0; i < count; i++) {\n tokenIndex += 1;\n uint256 tokenId = tokenIndex;\n _safeMint(to, tokenId);\n tokenIds[i] = tokenId;\n }\n emit BatchMint(to, tokenIds);\n return tokenIds;\n }\n\n /**\n * @dev Grant mint role to address\n */\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Remove mint role to address\n */\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev grant burn role to address\n */\n function setBurnRole(address to) external {\n grantRole(BURN_ROLE, to);\n }\n\n /**\n * @dev Remove burn role to address\n */\n function removeBurnRole(address proxy) external {\n revokeRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Add address for lock item\n */\n function grantLockRole(address to) external {\n grantRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function removeLockRole(address account) external {\n revokeRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Get lock status\n */\n function isLocked(uint256 tokenId) external view returns (bool) {\n return lockedTokens[tokenId];\n }\n\n /**\n * @dev Set token URI\n */\n function updateBaseURI(\n string calldata baseTokenURI\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _baseTokenURI = baseTokenURI;\n }\n\n /**\n * @dev See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual override(ERC721Enumerable) {\n require(!lockedTokens[tokenId], \"Can not transfer locked token\");\n super._beforeTokenTransfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(\n bytes4 interfaceId\n )\n public\n view\n virtual\n override(AccessControl, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Burns `tokenId`.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(\n address owner,\n uint256 tokenId\n ) external virtual onlyRole(BURN_ROLE) {\n require(_exists(tokenId), \"TokenId not exists\");\n require(!lockedTokens[tokenId], \"Can not burn locked token\");\n require(\n ownerOf(tokenId) == owner,\n \"current address is not owner of this item now\"\n );\n _burn(tokenId);\n }\n}\n", + "sourceMap": "236:4973:16:-:0;;;654:3;624:33;;743:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;843:5;850:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;865:46:16::1;410:24;2198:4:0;892:18:16::0;::::1;865:13;;;:46;;:::i;:::-;917:44;474:22;2198:4:0;942:18:16::0;::::1;917:13;;;:44;;:::i;:::-;967;536:22;2198:4:0;992:18:16::0;::::1;967:13;;;:44;;:::i;:::-;1018:42;2198:4:0;1029:18:16::0;::::1;1049:10;1018;;;:42;;:::i;:::-;1066:35;410:24;1090:10;1066;;;:35;;:::i;:::-;1107:33;474:22;1129:10;1107;;;:33;;:::i;:::-;1146;536:22;1168:10;1146;;;:33;;:::i;:::-;1199:11;1185:25;;;;::::0;::::1;743:472:::0;;;236:4973;;7172:247:0;7255:25;7283:18;7296:4;7283:12;;;:18;;:::i;:::-;7255:46;;7336:9;7311:6;:12;7318:4;7311:12;;;;;;;;;;;:22;;:34;;;;7402:9;7383:17;7377:4;7360:52;;;;;;;;;;7245:174;7172:247;;:::o;6937:110::-;7015:25;7026:4;7032:7;7015:10;;;:25;;:::i;:::-;6937:110;;:::o;4504:129::-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;;;:22;;:::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;;;:12;;:::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;3021:145::-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;236:4973:16:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:17:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;236:4973:16:-;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "236:4973:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4516:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3721:169:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3468:406:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;562:36:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2275:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4504:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;624:33:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;500:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4929:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2411:77:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6038:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1485:604:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1813:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2142:79:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3296:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2815:91:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3021:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2542:87:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4861:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2153:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2681:79:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3586:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;438:58:16;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3949:231;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;372:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5354:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;292:44:16;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2972:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4388:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4516:208:16;4662:4;4683:36;4707:11;4683:23;:36::i;:::-;4676:43;;4516:208;;;:::o;2471:98:2:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3721:169:16:-;2198:4:0;3789:18:16;;2631:16:0;2642:4;2631:10;:16::i;:::-;3832:1:16::1;3823:6;:10;3815:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;3879:6;3864:12;:21;;;;3721:169:::0;;:::o;3468:406:2:-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;1630:111:5:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;562:36:16:-;;;:::o;2275:83::-;2326:27;410:24;2350:2;2326:10;:27::i;:::-;2275:83;:::o;4612:296:2:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4504:129:0:-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;624:33:16:-;;;;:::o;500:58::-;536:22;500:58;:::o;4929:145:0:-;5012:18;5025:4;5012:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;2411:77:16:-;2459:24;474:22;2480:2;2459:9;:24::i;:::-;2411:77;:::o;6038:214:0:-;6144:12;:10;:12::i;:::-;6133:23;;:7;:23;;;6125:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;4974:149:2:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;1485:604:16:-;1583:16;410:24;2631:16:0;2642:4;2631:10;:16::i;:::-;1623:1:16::1;1615:5;:9;1607:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;1670:12;;1661:5;:21;;1653:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;1728:1;1714:11;:15;1710:134;;;1783:11;1773:5;1757:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1756:38;;1739:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1710:134;1849:25;1891:5;1877:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1849:48;;1908:9;1903:161;1927:5;1923:1;:9;1903:161;;;1961:1;1947:10;;:15;;;;;;;:::i;:::-;;;;;;;;1970;1988:10;;1970:28;;2006:22;2016:2;2020:7;2006:9;:22::i;:::-;2050:7;2036:8;2045:1;2036:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;1939:125;1934:3;;;;;:::i;:::-;;;;1903:161;;;;2076:8;2069:15;;;1485:604:::0;;;;;:::o;1813:230:5:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;2142:79:16:-;2190:26;410:24;2213:2;2190:9;:26::i;:::-;2142:79;:::o;3296:250::-;536:22;2631:16:0;2642:4;2631:10;:16::i;:::-;3372::16::1;3380:7;3372;:16::i;:::-;3364:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3428:12;:21;3441:7;3428:21;;;;;;;;;;;;;;;;;;;;;3420:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3510:5;3486:12;:21;3499:7;3486:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3533:7;3526:15;;;;;;;;;;3296:250:::0;;:::o;2190:219:2:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2815:91:16:-;2871:30;536:22;2893:7;2871:10;:30::i;:::-;2815:91;:::o;3021:145:0:-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;2633:102:2:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;2542:87:16:-;2596:28;474:22;2618:5;2596:10;:28::i;:::-;2542:87;:::o;4861:346::-;474:22;2631:16:0;2642:4;2631:10;:16::i;:::-;4970::16::1;4978:7;4970;:16::i;:::-;4962:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5024:12;:21;5037:7;5024:21;;;;;;;;;;;;;;;;;;;;;5023:22;5015:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5116:5;5096:25;;:16;5104:7;5096;:16::i;:::-;:25;;;5081:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;5188:14;5194:7;5188:5;:14::i;:::-;4861:346:::0;;;:::o;2153:49:0:-;2198:4;2153:49;;;:::o;4169:153:2:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;2681:79:16:-;2731:24;536:22;2752:2;2731:9;:24::i;:::-;2681:79;:::o;3586:131::-;2198:4:0;3660:18:16;;2631:16:0;2642:4;2631:10;:16::i;:::-;3701:11:16::1;3686:12;;:26;;;;;;;;;;;;;;;;;;3586:131:::0;;:::o;5189:276:2:-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;438:58:16:-;474:22;438:58;:::o;3949:231::-;4022:13;4051:16;4059:7;4051;:16::i;:::-;4043:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4126:12;;;;;;;;;;;4116:35;;;4160:4;4167:7;4116:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4109:66;;3949:231;;;:::o;372:62::-;410:24;372:62;:::o;5354:147:0:-;5438:18;5451:4;5438:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;:::-;5354:147:::0;;;:::o;292:44:16:-;;;;;;;;;;;;;;;;;;;;;;:::o;2972:244::-;536:22;2631:16:0;2642:4;2631:10;:16::i;:::-;3046::16::1;3054:7;3046;:16::i;:::-;3038:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3103:12;:21;3116:7;3103:21;;;;;;;;;;;;;;;;;;;;;3102:22;3094:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3183:4;3159:12;:21;3172:7;3159:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3203:7;3198:13;;;;;;;;;;2972:244:::0;;:::o;4388:162:2:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;1005:222:5:-;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;13240:133:2:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;3460:103:0:-;3526:30;3537:4;3543:12;:10;:12::i;:::-;3526:10;:30::i;:::-;3460:103;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;12572:171:2:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;7587:233:0:-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;:12::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:6;:12;8119:4;8112:12;;;;;;;;;;;:20;;:29;8133:7;8112:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8195:12;:10;:12::i;:::-;8168:40;;8186:7;8168:40;;8180:4;8168:40;;;;;;;;;;8070:149;7991:234;;:::o;7995:108:2:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;10171:762::-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10280:51;10301:5;10316:1;10320:7;10329:1;10280:20;:51::i;:::-;10441:23;10456:7;10441:14;:23::i;:::-;10433:31;;10509:15;:24;10525:7;10509:24;;;;;;;;;;;;10502:31;;;;;;;;;;;10769:1;10749:9;:16;10759:5;10749:16;;;;;;;;;;;;;;;;:21;;;;;;;;;;;10797:7;:16;10805:7;10797:16;;;;;;;;;;;;10790:23;;;;;;;;;;;10857:7;10853:1;10829:36;;10838:5;10829:36;;;;;;;;;;;;10876:50;10896:5;10911:1;10915:7;10924:1;10876:19;:50::i;:::-;10220:713;10171:762;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;1570:300::-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;3844:479:0:-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4234:13;;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3970:336;;;;;;;;;;;:::i;:::-;;;;;;;;3927:390;3844:479;;:::o;4242:215:16:-;4391:61;4418:4;4424:2;4428:12;4442:9;4391:26;:61::i;:::-;4242:215;;;;:::o;16294:115:2:-;;;;;:::o;8324:279::-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;2732:202:0:-;2817:4;2855:32;2840:47;;;:11;:47;;;;:87;;;;2891:36;2915:11;2891:23;:36::i;:::-;2840:87;2833:94;;2732:202;;;:::o;2407:149:10:-;2465:13;2497:52;2525:4;2509:22;;343:2;2497:52;;:11;:52::i;:::-;2490:59;;2407:149;;;:::o;1818:437::-;1893:13;1918:19;1963:1;1954:6;1950:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2030:9;2055:1;2046:6;2042:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2113:3;2105:5;:11;2096:21;;;;;;;:::i;:::-;;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;2141:1;2131:11;;;;;2065:3;;;;:::i;:::-;;;2025:128;;;;2179:1;2170:5;:10;2162:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2241:6;2227:21;;;1818:437;;;;:::o;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;8925:920:2:-;9018:1;9004:16;;:2;:16;;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;1412:320:8:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;829:155:11:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;15472:116:2:-;;;;;:::o;3708:161:5:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;7:75:17:-;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:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:114::-;7840:6;7874:5;7868:12;7858:22;;7773:114;;;:::o;7893:184::-;7992:11;8026:6;8021:3;8014:19;8066:4;8061:3;8057:14;8042:29;;7893:184;;;;:::o;8083:132::-;8150:4;8173:3;8165:11;;8203:4;8198:3;8194:14;8186:22;;8083:132;;;:::o;8221:108::-;8298:24;8316:5;8298:24;:::i;:::-;8293:3;8286:37;8221:108;;:::o;8335:179::-;8404:10;8425:46;8467:3;8459:6;8425:46;:::i;:::-;8503:4;8498:3;8494:14;8480:28;;8335:179;;;;:::o;8520:113::-;8590:4;8622;8617:3;8613:14;8605:22;;8520:113;;;:::o;8669:732::-;8788:3;8817:54;8865:5;8817:54;:::i;:::-;8887:86;8966:6;8961:3;8887:86;:::i;:::-;8880:93;;8997:56;9047:5;8997:56;:::i;:::-;9076:7;9107:1;9092:284;9117:6;9114:1;9111:13;9092:284;;;9193:6;9187:13;9220:63;9279:3;9264:13;9220:63;:::i;:::-;9213:70;;9306:60;9359:6;9306:60;:::i;:::-;9296:70;;9152:224;9139:1;9136;9132:9;9127:14;;9092:284;;;9096:14;9392:3;9385:10;;8793:608;;;8669:732;;;;:::o;9407:373::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9637:9;9631:4;9627:20;9623:1;9612:9;9608:17;9601:47;9665:108;9768:4;9759:6;9665:108;:::i;:::-;9657:116;;9407:373;;;;:::o;9786:116::-;9856:21;9871:5;9856:21;:::i;:::-;9849:5;9846:32;9836:60;;9892:1;9889;9882:12;9836:60;9786:116;:::o;9908:133::-;9951:5;9989:6;9976:20;9967:29;;10005:30;10029:5;10005:30;:::i;:::-;9908:133;;;;:::o;10047:468::-;10112:6;10120;10169:2;10157:9;10148:7;10144:23;10140:32;10137:119;;;10175:79;;:::i;:::-;10137:119;10295:1;10320:53;10365:7;10356:6;10345:9;10341:22;10320:53;:::i;:::-;10310:63;;10266:117;10422:2;10448:50;10490:7;10481:6;10470:9;10466:22;10448:50;:::i;:::-;10438:60;;10393:115;10047:468;;;;;:::o;10521:117::-;10630:1;10627;10620:12;10644:117;10753:1;10750;10743:12;10767:180;10815:77;10812:1;10805:88;10912:4;10909:1;10902:15;10936:4;10933:1;10926:15;10953:281;11036:27;11058:4;11036:27;:::i;:::-;11028:6;11024:40;11166:6;11154:10;11151:22;11130:18;11118:10;11115:34;11112:62;11109:88;;;11177:18;;:::i;:::-;11109:88;11217:10;11213:2;11206:22;10996:238;10953:281;;:::o;11240:129::-;11274:6;11301:20;;:::i;:::-;11291:30;;11330:33;11358:4;11350:6;11330:33;:::i;:::-;11240:129;;;:::o;11375:307::-;11436:4;11526:18;11518:6;11515:30;11512:56;;;11548:18;;:::i;:::-;11512:56;11586:29;11608:6;11586:29;:::i;:::-;11578:37;;11670:4;11664;11660:15;11652:23;;11375:307;;;:::o;11688:154::-;11772:6;11767:3;11762;11749:30;11834:1;11825:6;11820:3;11816:16;11809:27;11688:154;;;:::o;11848:410::-;11925:5;11950:65;11966:48;12007:6;11966:48;:::i;:::-;11950:65;:::i;:::-;11941:74;;12038:6;12031:5;12024:21;12076:4;12069:5;12065:16;12114:3;12105:6;12100:3;12096:16;12093:25;12090:112;;;12121:79;;:::i;:::-;12090:112;12211:41;12245:6;12240:3;12235;12211:41;:::i;:::-;11931:327;11848:410;;;;;:::o;12277:338::-;12332:5;12381:3;12374:4;12366:6;12362:17;12358:27;12348:122;;12389:79;;:::i;:::-;12348:122;12506:6;12493:20;12531:78;12605:3;12597:6;12590:4;12582:6;12578:17;12531:78;:::i;:::-;12522:87;;12338:277;12277:338;;;;:::o;12621:943::-;12716:6;12724;12732;12740;12789:3;12777:9;12768:7;12764:23;12760:33;12757:120;;;12796:79;;:::i;:::-;12757:120;12916:1;12941:53;12986:7;12977:6;12966:9;12962:22;12941:53;:::i;:::-;12931:63;;12887:117;13043:2;13069:53;13114:7;13105:6;13094:9;13090:22;13069:53;:::i;:::-;13059:63;;13014:118;13171:2;13197:53;13242:7;13233:6;13222:9;13218:22;13197:53;:::i;:::-;13187:63;;13142:118;13327:2;13316:9;13312:18;13299:32;13358:18;13350:6;13347:30;13344:117;;;13380:79;;:::i;:::-;13344:117;13485:62;13539:7;13530:6;13519:9;13515:22;13485:62;:::i;:::-;13475:72;;13270:287;12621:943;;;;;;;:::o;13570:474::-;13638:6;13646;13695:2;13683:9;13674:7;13670:23;13666:32;13663:119;;;13701:79;;:::i;:::-;13663:119;13821:1;13846:53;13891:7;13882:6;13871:9;13867:22;13846:53;:::i;:::-;13836:63;;13792:117;13948:2;13974:53;14019:7;14010:6;13999:9;13995:22;13974:53;:::i;:::-;13964:63;;13919:118;13570:474;;;;;:::o;14050:180::-;14098:77;14095:1;14088:88;14195:4;14192:1;14185:15;14219:4;14216:1;14209:15;14236:320;14280:6;14317:1;14311:4;14307:12;14297:22;;14364:1;14358:4;14354:12;14385:18;14375:81;;14441:4;14433:6;14429:17;14419:27;;14375:81;14503:2;14495:6;14492:14;14472:18;14469:38;14466:84;;;14522:18;;:::i;:::-;14466:84;14287:269;14236:320;;;:::o;14562:170::-;14702:22;14698:1;14690:6;14686:14;14679:46;14562:170;:::o;14738:366::-;14880:3;14901:67;14965:2;14960:3;14901:67;:::i;:::-;14894:74;;14977:93;15066:3;14977:93;:::i;:::-;15095:2;15090:3;15086:12;15079:19;;14738:366;;;:::o;15110:419::-;15276:4;15314:2;15303:9;15299:18;15291:26;;15363:9;15357:4;15353:20;15349:1;15338:9;15334:17;15327:47;15391:131;15517:4;15391:131;:::i;:::-;15383:139;;15110:419;;;:::o;15535:220::-;15675:34;15671:1;15663:6;15659:14;15652:58;15744:3;15739:2;15731:6;15727:15;15720:28;15535:220;:::o;15761:366::-;15903:3;15924:67;15988:2;15983:3;15924:67;:::i;:::-;15917:74;;16000:93;16089:3;16000:93;:::i;:::-;16118:2;16113:3;16109:12;16102:19;;15761:366;;;:::o;16133:419::-;16299:4;16337:2;16326:9;16322:18;16314:26;;16386:9;16380:4;16376:20;16372:1;16361:9;16357:17;16350:47;16414:131;16540:4;16414:131;:::i;:::-;16406:139;;16133:419;;;:::o;16558:248::-;16698:34;16694:1;16686:6;16682:14;16675:58;16767:31;16762:2;16754:6;16750:15;16743:56;16558:248;:::o;16812:366::-;16954:3;16975:67;17039:2;17034:3;16975:67;:::i;:::-;16968:74;;17051:93;17140:3;17051:93;:::i;:::-;17169:2;17164:3;17160:12;17153:19;;16812:366;;;:::o;17184:419::-;17350:4;17388:2;17377:9;17373:18;17365:26;;17437:9;17431:4;17427:20;17423:1;17412:9;17408:17;17401:47;17465:131;17591:4;17465:131;:::i;:::-;17457:139;;17184:419;;;:::o;17609:232::-;17749:34;17745:1;17737:6;17733:14;17726:58;17818:15;17813:2;17805:6;17801:15;17794:40;17609:232;:::o;17847:366::-;17989:3;18010:67;18074:2;18069:3;18010:67;:::i;:::-;18003:74;;18086:93;18175:3;18086:93;:::i;:::-;18204:2;18199:3;18195:12;18188:19;;17847:366;;;:::o;18219:419::-;18385:4;18423:2;18412:9;18408:18;18400:26;;18472:9;18466:4;18462:20;18458:1;18447:9;18443:17;18436:47;18500:131;18626:4;18500:131;:::i;:::-;18492:139;;18219:419;;;:::o;18644:230::-;18784:34;18780:1;18772:6;18768:14;18761:58;18853:13;18848:2;18840:6;18836:15;18829:38;18644:230;:::o;18880:366::-;19022:3;19043:67;19107:2;19102:3;19043:67;:::i;:::-;19036:74;;19119:93;19208:3;19119:93;:::i;:::-;19237:2;19232:3;19228:12;19221:19;;18880:366;;;:::o;19252:419::-;19418:4;19456:2;19445:9;19441:18;19433:26;;19505:9;19499:4;19495:20;19491:1;19480:9;19476:17;19469:47;19533:131;19659:4;19533:131;:::i;:::-;19525:139;;19252:419;;;:::o;19677:234::-;19817:34;19813:1;19805:6;19801:14;19794:58;19886:17;19881:2;19873:6;19869:15;19862:42;19677:234;:::o;19917:366::-;20059:3;20080:67;20144:2;20139:3;20080:67;:::i;:::-;20073:74;;20156:93;20245:3;20156:93;:::i;:::-;20274:2;20269:3;20265:12;20258:19;;19917:366;;;:::o;20289:419::-;20455:4;20493:2;20482:9;20478:18;20470:26;;20542:9;20536:4;20532:20;20528:1;20517:9;20513:17;20506:47;20570:131;20696:4;20570:131;:::i;:::-;20562:139;;20289:419;;;:::o;20714:168::-;20854:20;20850:1;20842:6;20838:14;20831:44;20714:168;:::o;20888:366::-;21030:3;21051:67;21115:2;21110:3;21051:67;:::i;:::-;21044:74;;21127:93;21216:3;21127:93;:::i;:::-;21245:2;21240:3;21236:12;21229:19;;20888:366;;;:::o;21260:419::-;21426:4;21464:2;21453:9;21449:18;21441:26;;21513:9;21507:4;21503:20;21499:1;21488:9;21484:17;21477:47;21541:131;21667:4;21541:131;:::i;:::-;21533:139;;21260:419;;;:::o;21685:167::-;21825:19;21821:1;21813:6;21809:14;21802:43;21685:167;:::o;21858:366::-;22000:3;22021:67;22085:2;22080:3;22021:67;:::i;:::-;22014:74;;22097:93;22186:3;22097:93;:::i;:::-;22215:2;22210:3;22206:12;22199:19;;21858:366;;;:::o;22230:419::-;22396:4;22434:2;22423:9;22419:18;22411:26;;22483:9;22477:4;22473:20;22469:1;22458:9;22454:17;22447:47;22511:131;22637:4;22511:131;:::i;:::-;22503:139;;22230:419;;;:::o;22655:180::-;22703:77;22700:1;22693:88;22800:4;22797:1;22790:15;22824:4;22821:1;22814:15;22841:305;22881:3;22900:20;22918:1;22900:20;:::i;:::-;22895:25;;22934:20;22952:1;22934:20;:::i;:::-;22929:25;;23088:1;23020:66;23016:74;23013:1;23010:81;23007:107;;;23094:18;;:::i;:::-;23007:107;23138:1;23135;23131:9;23124:16;;22841:305;;;;:::o;23152:173::-;23292:25;23288:1;23280:6;23276:14;23269:49;23152:173;:::o;23331:366::-;23473:3;23494:67;23558:2;23553:3;23494:67;:::i;:::-;23487:74;;23570:93;23659:3;23570:93;:::i;:::-;23688:2;23683:3;23679:12;23672:19;;23331:366;;;:::o;23703:419::-;23869:4;23907:2;23896:9;23892:18;23884:26;;23956:9;23950:4;23946:20;23942:1;23931:9;23927:17;23920:47;23984:131;24110:4;23984:131;:::i;:::-;23976:139;;23703:419;;;:::o;24128:180::-;24176:77;24173:1;24166:88;24273:4;24270:1;24263:15;24297:4;24294:1;24287:15;24314:233;24353:3;24376:24;24394:5;24376:24;:::i;:::-;24367:33;;24422:66;24415:5;24412:77;24409:103;;;24492:18;;:::i;:::-;24409:103;24539:1;24532:5;24528:13;24521:20;;24314:233;;;:::o;24553:231::-;24693:34;24689:1;24681:6;24677:14;24670:58;24762:14;24757:2;24749:6;24745:15;24738:39;24553:231;:::o;24790:366::-;24932:3;24953:67;25017:2;25012:3;24953:67;:::i;:::-;24946:74;;25029:93;25118:3;25029:93;:::i;:::-;25147:2;25142:3;25138:12;25131:19;;24790:366;;;:::o;25162:419::-;25328:4;25366:2;25355:9;25351:18;25343:26;;25415:9;25409:4;25405:20;25401:1;25390:9;25386:17;25379:47;25443:131;25569:4;25443:131;:::i;:::-;25435:139;;25162:419;;;:::o;25587:171::-;25727:23;25723:1;25715:6;25711:14;25704:47;25587:171;:::o;25764:366::-;25906:3;25927:67;25991:2;25986:3;25927:67;:::i;:::-;25920:74;;26003:93;26092:3;26003:93;:::i;:::-;26121:2;26116:3;26112:12;26105:19;;25764:366;;;:::o;26136:419::-;26302:4;26340:2;26329:9;26325:18;26317:26;;26389:9;26383:4;26379:20;26375:1;26364:9;26360:17;26353:47;26417:131;26543:4;26417:131;:::i;:::-;26409:139;;26136:419;;;:::o;26561:176::-;26701:28;26697:1;26689:6;26685:14;26678:52;26561:176;:::o;26743:366::-;26885:3;26906:67;26970:2;26965:3;26906:67;:::i;:::-;26899:74;;26982:93;27071:3;26982:93;:::i;:::-;27100:2;27095:3;27091:12;27084:19;;26743:366;;;:::o;27115:419::-;27281:4;27319:2;27308:9;27304:18;27296:26;;27368:9;27362:4;27358:20;27354:1;27343:9;27339:17;27332:47;27396:131;27522:4;27396:131;:::i;:::-;27388:139;;27115:419;;;:::o;27540:174::-;27680:26;27676:1;27668:6;27664:14;27657:50;27540:174;:::o;27720:366::-;27862:3;27883:67;27947:2;27942:3;27883:67;:::i;:::-;27876:74;;27959:93;28048:3;27959:93;:::i;:::-;28077:2;28072:3;28068:12;28061:19;;27720:366;;;:::o;28092:419::-;28258:4;28296:2;28285:9;28281:18;28273:26;;28345:9;28339:4;28335:20;28331:1;28320:9;28316:17;28309:47;28373:131;28499:4;28373:131;:::i;:::-;28365:139;;28092:419;;;:::o;28517:228::-;28657:34;28653:1;28645:6;28641:14;28634:58;28726:11;28721:2;28713:6;28709:15;28702:36;28517:228;:::o;28751:366::-;28893:3;28914:67;28978:2;28973:3;28914:67;:::i;:::-;28907:74;;28990:93;29079:3;28990:93;:::i;:::-;29108:2;29103:3;29099:12;29092:19;;28751:366;;;:::o;29123:419::-;29289:4;29327:2;29316:9;29312:18;29304:26;;29376:9;29370:4;29366:20;29362:1;29351:9;29347:17;29340:47;29404:131;29530:4;29404:131;:::i;:::-;29396:139;;29123:419;;;:::o;29548:168::-;29688:20;29684:1;29676:6;29672:14;29665:44;29548:168;:::o;29722:366::-;29864:3;29885:67;29949:2;29944:3;29885:67;:::i;:::-;29878:74;;29961:93;30050:3;29961:93;:::i;:::-;30079:2;30074:3;30070:12;30063:19;;29722:366;;;:::o;30094:419::-;30260:4;30298:2;30287:9;30283:18;30275:26;;30347:9;30341:4;30337:20;30333:1;30322:9;30318:17;30311:47;30375:131;30501:4;30375:131;:::i;:::-;30367:139;;30094:419;;;:::o;30519:175::-;30659:27;30655:1;30647:6;30643:14;30636:51;30519:175;:::o;30700:366::-;30842:3;30863:67;30927:2;30922:3;30863:67;:::i;:::-;30856:74;;30939:93;31028:3;30939:93;:::i;:::-;31057:2;31052:3;31048:12;31041:19;;30700:366;;;:::o;31072:419::-;31238:4;31276:2;31265:9;31261:18;31253:26;;31325:9;31319:4;31315:20;31311:1;31300:9;31296:17;31289:47;31353:131;31479:4;31353:131;:::i;:::-;31345:139;;31072:419;;;:::o;31497:232::-;31637:34;31633:1;31625:6;31621:14;31614:58;31706:15;31701:2;31693:6;31689:15;31682:40;31497:232;:::o;31735:366::-;31877:3;31898:67;31962:2;31957:3;31898:67;:::i;:::-;31891:74;;31974:93;32063:3;31974:93;:::i;:::-;32092:2;32087:3;32083:12;32076:19;;31735:366;;;:::o;32107:419::-;32273:4;32311:2;32300:9;32296:18;32288:26;;32360:9;32354:4;32350:20;32346:1;32335:9;32331:17;32324:47;32388:131;32514:4;32388:131;:::i;:::-;32380:139;;32107:419;;;:::o;32532:181::-;32672:33;32668:1;32660:6;32656:14;32649:57;32532:181;:::o;32719:366::-;32861:3;32882:67;32946:2;32941:3;32882:67;:::i;:::-;32875:74;;32958:93;33047:3;32958:93;:::i;:::-;33076:2;33071:3;33067:12;33060:19;;32719:366;;;:::o;33091:419::-;33257:4;33295:2;33284:9;33280:18;33272:26;;33344:9;33338:4;33334:20;33330:1;33319:9;33315:17;33308:47;33372:131;33498:4;33372:131;:::i;:::-;33364:139;;33091:419;;;:::o;33516:332::-;33637:4;33675:2;33664:9;33660:18;33652:26;;33688:71;33756:1;33745:9;33741:17;33732:6;33688:71;:::i;:::-;33769:72;33837:2;33826:9;33822:18;33813:6;33769:72;:::i;:::-;33516:332;;;;;:::o;33854:308::-;33916:4;34006:18;33998:6;33995:30;33992:56;;;34028:18;;:::i;:::-;33992:56;34066:29;34088:6;34066:29;:::i;:::-;34058:37;;34150:4;34144;34140:15;34132:23;;33854:308;;;:::o;34168:421::-;34257:5;34282:66;34298:49;34340:6;34298:49;:::i;:::-;34282:66;:::i;:::-;34273:75;;34371:6;34364:5;34357:21;34409:4;34402:5;34398:16;34447:3;34438:6;34433:3;34429:16;34426:25;34423:112;;;34454:79;;:::i;:::-;34423:112;34544:39;34576:6;34571:3;34566;34544:39;:::i;:::-;34263:326;34168:421;;;;;:::o;34609:355::-;34676:5;34725:3;34718:4;34710:6;34706:17;34702:27;34692:122;;34733:79;;:::i;:::-;34692:122;34843:6;34837:13;34868:90;34954:3;34946:6;34939:4;34931:6;34927:17;34868:90;:::i;:::-;34859:99;;34682:282;34609:355;;;;:::o;34970:524::-;35050:6;35099:2;35087:9;35078:7;35074:23;35070:32;35067:119;;;35105:79;;:::i;:::-;35067:119;35246:1;35235:9;35231:17;35225:24;35276:18;35268:6;35265:30;35262:117;;;35298:79;;:::i;:::-;35262:117;35403:74;35469:7;35460:6;35449:9;35445:22;35403:74;:::i;:::-;35393:84;;35196:291;34970:524;;;;:::o;35500:174::-;35640:26;35636:1;35628:6;35624:14;35617:50;35500:174;:::o;35680:366::-;35822:3;35843:67;35907:2;35902:3;35843:67;:::i;:::-;35836:74;;35919:93;36008:3;35919:93;:::i;:::-;36037:2;36032:3;36028:12;36021:19;;35680:366;;;:::o;36052:419::-;36218:4;36256:2;36245:9;36241:18;36233:26;;36305:9;36299:4;36295:20;36291:1;36280:9;36276:17;36269:47;36333:131;36459:4;36333:131;:::i;:::-;36325:139;;36052:419;;;:::o;36477:224::-;36617:34;36613:1;36605:6;36601:14;36594:58;36686:7;36681:2;36673:6;36669:15;36662:32;36477:224;:::o;36707:366::-;36849:3;36870:67;36934:2;36929:3;36870:67;:::i;:::-;36863:74;;36946:93;37035:3;36946:93;:::i;:::-;37064:2;37059:3;37055:12;37048:19;;36707:366;;;:::o;37079:419::-;37245:4;37283:2;37272:9;37268:18;37260:26;;37332:9;37326:4;37322:20;37318:1;37307:9;37303:17;37296:47;37360:131;37486:4;37360:131;:::i;:::-;37352:139;;37079:419;;;:::o;37504:223::-;37644:34;37640:1;37632:6;37628:14;37621:58;37713:6;37708:2;37700:6;37696:15;37689:31;37504:223;:::o;37733:366::-;37875:3;37896:67;37960:2;37955:3;37896:67;:::i;:::-;37889:74;;37972:93;38061:3;37972:93;:::i;:::-;38090:2;38085:3;38081:12;38074:19;;37733:366;;;:::o;38105:419::-;38271:4;38309:2;38298:9;38294:18;38286:26;;38358:9;38352:4;38348:20;38344:1;38333:9;38329:17;38322:47;38386:131;38512:4;38386:131;:::i;:::-;38378:139;;38105:419;;;:::o;38530:175::-;38670:27;38666:1;38658:6;38654:14;38647:51;38530:175;:::o;38711:366::-;38853:3;38874:67;38938:2;38933:3;38874:67;:::i;:::-;38867:74;;38950:93;39039:3;38950:93;:::i;:::-;39068:2;39063:3;39059:12;39052:19;;38711:366;;;:::o;39083:419::-;39249:4;39287:2;39276:9;39272:18;39264:26;;39336:9;39330:4;39326:20;39322:1;39311:9;39307:17;39300:47;39364:131;39490:4;39364:131;:::i;:::-;39356:139;;39083:419;;;:::o;39508:237::-;39648:34;39644:1;39636:6;39632:14;39625:58;39717:20;39712:2;39704:6;39700:15;39693:45;39508:237;:::o;39751:366::-;39893:3;39914:67;39978:2;39973:3;39914:67;:::i;:::-;39907:74;;39990:93;40079:3;39990:93;:::i;:::-;40108:2;40103:3;40099:12;40092:19;;39751:366;;;:::o;40123:419::-;40289:4;40327:2;40316:9;40312:18;40304:26;;40376:9;40370:4;40366:20;40362:1;40351:9;40347:17;40340:47;40404:131;40530:4;40404:131;:::i;:::-;40396:139;;40123:419;;;:::o;40548:148::-;40650:11;40687:3;40672:18;;40548:148;;;;:::o;40702:173::-;40842:25;40838:1;40830:6;40826:14;40819:49;40702:173;:::o;40881:402::-;41041:3;41062:85;41144:2;41139:3;41062:85;:::i;:::-;41055:92;;41156:93;41245:3;41156:93;:::i;:::-;41274:2;41269:3;41265:12;41258:19;;40881:402;;;:::o;41289:377::-;41395:3;41423:39;41456:5;41423:39;:::i;:::-;41478:89;41560:6;41555:3;41478:89;:::i;:::-;41471:96;;41576:52;41621:6;41616:3;41609:4;41602:5;41598:16;41576:52;:::i;:::-;41653:6;41648:3;41644:16;41637:23;;41399:267;41289:377;;;;:::o;41672:167::-;41812:19;41808:1;41800:6;41796:14;41789:43;41672:167;:::o;41845:402::-;42005:3;42026:85;42108:2;42103:3;42026:85;:::i;:::-;42019:92;;42120:93;42209:3;42120:93;:::i;:::-;42238:2;42233:3;42229:12;42222:19;;41845:402;;;:::o;42253:967::-;42635:3;42657:148;42801:3;42657:148;:::i;:::-;42650:155;;42822:95;42913:3;42904:6;42822:95;:::i;:::-;42815:102;;42934:148;43078:3;42934:148;:::i;:::-;42927:155;;43099:95;43190:3;43181:6;43099:95;:::i;:::-;43092:102;;43211:3;43204:10;;42253:967;;;;;:::o;43226:98::-;43277:6;43311:5;43305:12;43295:22;;43226:98;;;:::o;43330:168::-;43413:11;43447:6;43442:3;43435:19;43487:4;43482:3;43478:14;43463:29;;43330:168;;;;:::o;43504:360::-;43590:3;43618:38;43650:5;43618:38;:::i;:::-;43672:70;43735:6;43730:3;43672:70;:::i;:::-;43665:77;;43751:52;43796:6;43791:3;43784:4;43777:5;43773:16;43751:52;:::i;:::-;43828:29;43850:6;43828:29;:::i;:::-;43823:3;43819:39;43812:46;;43594:270;43504:360;;;;:::o;43870:640::-;44065:4;44103:3;44092:9;44088:19;44080:27;;44117:71;44185:1;44174:9;44170:17;44161:6;44117:71;:::i;:::-;44198:72;44266:2;44255:9;44251:18;44242:6;44198:72;:::i;:::-;44280;44348:2;44337:9;44333:18;44324:6;44280:72;:::i;:::-;44399:9;44393:4;44389:20;44384:2;44373:9;44369:18;44362:48;44427:76;44498:4;44489:6;44427:76;:::i;:::-;44419:84;;43870:640;;;;;;;:::o;44516:141::-;44572:5;44603:6;44597:13;44588:22;;44619:32;44645:5;44619:32;:::i;:::-;44516:141;;;;:::o;44663:349::-;44732:6;44781:2;44769:9;44760:7;44756:23;44752:32;44749:119;;;44787:79;;:::i;:::-;44749:119;44907:1;44932:63;44987:7;44978:6;44967:9;44963:22;44932:63;:::i;:::-;44922:73;;44878:127;44663:349;;;;:::o;45018:348::-;45058:7;45081:20;45099:1;45081:20;:::i;:::-;45076:25;;45115:20;45133:1;45115:20;:::i;:::-;45110:25;;45303:1;45235:66;45231:74;45228:1;45225:81;45220:1;45213:9;45206:17;45202:105;45199:131;;;45310:18;;:::i;:::-;45199:131;45358:1;45355;45351:9;45340:20;;45018:348;;;;:::o;45372:171::-;45411:3;45434:24;45452:5;45434:24;:::i;:::-;45425:33;;45480:4;45473:5;45470:15;45467:41;;;45488:18;;:::i;:::-;45467:41;45535:1;45528:5;45524:13;45517:20;;45372:171;;;:::o;45549:182::-;45689:34;45685:1;45677:6;45673:14;45666:58;45549:182;:::o;45737:366::-;45879:3;45900:67;45964:2;45959:3;45900:67;:::i;:::-;45893:74;;45976:93;46065:3;45976:93;:::i;:::-;46094:2;46089:3;46085:12;46078:19;;45737:366;;;:::o;46109:419::-;46275:4;46313:2;46302:9;46298:18;46290:26;;46362:9;46356:4;46352:20;46348:1;46337:9;46333:17;46326:47;46390:131;46516:4;46390:131;:::i;:::-;46382:139;;46109:419;;;:::o;46534:240::-;46674:34;46670:1;46662:6;46658:14;46651:58;46743:23;46738:2;46730:6;46726:15;46719:48;46534:240;:::o;46780:366::-;46922:3;46943:67;47007:2;47002:3;46943:67;:::i;:::-;46936:74;;47019:93;47108:3;47019:93;:::i;:::-;47137:2;47132:3;47128:12;47121:19;;46780:366;;;:::o;47152:419::-;47318:4;47356:2;47345:9;47341:18;47333:26;;47405:9;47399:4;47395:20;47391:1;47380:9;47376:17;47369:47;47433:131;47559:4;47433:131;:::i;:::-;47425:139;;47152:419;;;:::o;47577:182::-;47717:34;47713:1;47705:6;47701:14;47694:58;47577:182;:::o;47765:366::-;47907:3;47928:67;47992:2;47987:3;47928:67;:::i;:::-;47921:74;;48004:93;48093:3;48004:93;:::i;:::-;48122:2;48117:3;48113:12;48106:19;;47765:366;;;:::o;48137:419::-;48303:4;48341:2;48330:9;48326:18;48318:26;;48390:9;48384:4;48380:20;48376:1;48365:9;48361:17;48354:47;48418:131;48544:4;48418:131;:::i;:::-;48410:139;;48137:419;;;:::o;48562:178::-;48702:30;48698:1;48690:6;48686:14;48679:54;48562:178;:::o;48746:366::-;48888:3;48909:67;48973:2;48968:3;48909:67;:::i;:::-;48902:74;;48985:93;49074:3;48985:93;:::i;:::-;49103:2;49098:3;49094:12;49087:19;;48746:366;;;:::o;49118:419::-;49284:4;49322:2;49311:9;49307:18;49299:26;;49371:9;49365:4;49361:20;49357:1;49346:9;49342:17;49335:47;49399:131;49525:4;49399:131;:::i;:::-;49391:139;;49118:419;;;:::o;49543:191::-;49583:4;49603:20;49621:1;49603:20;:::i;:::-;49598:25;;49637:20;49655:1;49637:20;:::i;:::-;49632:25;;49676:1;49673;49670:8;49667:34;;;49681:18;;:::i;:::-;49667:34;49726:1;49723;49719:9;49711:17;;49543:191;;;;:::o;49740:180::-;49788:77;49785:1;49778:88;49885:4;49882:1;49875:15;49909:4;49906:1;49899:15", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\nimport \"../../interfaces/IMetaData.sol\";\n\ncontract BEBadge is AccessControl, ERC721Enumerable {\n mapping(uint256 => bool) public lockedTokens;\n address private _metaAddress;\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n uint256 public immutable supplyLimit;\n uint256 tokenIndex;\n uint256 public maxBatchSize = 500;\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(LOCK_ROLE, DEFAULT_ADMIN_ROLE);\n\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n _setupRole(BURN_ROLE, msg.sender);\n _setupRole(LOCK_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n /**\n * @dev Batch mint tokens and transfer to specified address.\n *\n * Requirements:\n * - Caller must have `MINTER_ROLE`.\n * - The total supply limit should not be exceeded.\n * - The number of tokenIds offered for minting should not exceed 100.\n */\n\n function batchMint(\n address to,\n uint256 count\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\n require(count > 0, \"tokenIds too small\");\n require(count <= maxBatchSize, \"tokenIds too many\");\n if (supplyLimit > 0) {\n require(\n (totalSupply() + count) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n uint256[] memory tokenIds = new uint256[](count);\n for (uint256 i = 0; i < count; i++) {\n tokenIndex += 1;\n uint256 tokenId = tokenIndex;\n _safeMint(to, tokenId);\n tokenIds[i] = tokenId;\n }\n return tokenIds;\n }\n\n /**\n * @dev Grant mint role to address\n */\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Remove mint role to address\n */\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev grant burn role to address\n */\n function setBurnRole(address to) external {\n grantRole(BURN_ROLE, to);\n }\n\n /**\n * @dev Remove burn role to address\n */\n function removeBurnRole(address proxy) external {\n revokeRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Add address for lock item\n */\n function grantLockRole(address to) external {\n grantRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function removeLockRole(address account) external {\n revokeRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Set token URI\n */\n function updateMetaAddress(\n address metaAddress\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _metaAddress = metaAddress;\n }\n\n function updateBatchLimit(\n uint256 valNew\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n require(valNew > 0, \"batch size too short\");\n maxBatchSize = valNew;\n }\n\n /**\n * @dev one type badge has same tokenURI\n */\n function tokenURI(\n uint256 tokenId\n ) public view override returns (string memory) {\n require(_exists(tokenId), \"URI query for nonexistent token\");\n return IMetaData(_metaAddress).getMetaData(address(this), tokenId);\n }\n\n /**\n * @dev See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(\n bytes4 interfaceId\n )\n public\n view\n virtual\n override(AccessControl, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Burns `tokenId`.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(\n address owner,\n uint256 tokenId\n ) external virtual onlyRole(BURN_ROLE) {\n require(_exists(tokenId), \"TokenId not exists\");\n require(!lockedTokens[tokenId], \"Can not burn locked token\");\n require(\n ownerOf(tokenId) == owner,\n \"current address is not owner of this item now\"\n );\n _burn(tokenId);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc721/BEBadge.sol", "ast": { "absolutePath": "project:/contracts/tokens/erc721/BEBadge.sol", "exportedSymbols": { "AccessControl": [ - 308 + 315 ], "Address": [ - 2072 + 2191 ], "BEBadge": [ - 2803 + 3936 ], "Context": [ - 2094 + 2213 ], "ERC165": [ - 2321 + 2466 ], "ERC721": [ - 1247 + 1315 ], "ERC721Enumerable": [ - 1719 + 1803 ], "IAccessControl": [ - 381 + 388 ], "IERC165": [ - 2333 + 2478 ], "IERC721": [ - 1363 + 1431 ], "IERC721Enumerable": [ - 1750 + 1834 ], "IERC721Metadata": [ - 1777 + 1861 ], "IERC721Receiver": [ - 1381 + 1449 + ], + "IMetaData": [ + 3461 + ], + "Math": [ + 3344 + ], + "SignedMath": [ + 3449 ], "Strings": [ - 2297 + 2442 ] }, - "id": 2804, + "id": 3937, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2335, + "id": 3463, "literals": [ "solidity", "0.8", ".10" ], "nodeType": "PragmaDirective", - "src": "32:23:13" + "src": "32:23:16" }, { "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "id": 2336, + "id": 3464, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2804, - "sourceUnit": 1720, - "src": "56:78:13", + "scope": 3937, + "sourceUnit": 1804, + "src": "56:78:16", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 2337, + "id": 3465, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2804, - "sourceUnit": 309, - "src": "135:58:13", + "scope": 3937, + "sourceUnit": 316, + "src": "135:58:16", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/interfaces/IMetaData.sol", + "file": "../../interfaces/IMetaData.sol", + "id": 3466, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3937, + "sourceUnit": 3462, + "src": "194:40:16", "symbolAliases": [], "unitAlias": "" }, @@ -25492,61 +24320,61 @@ "baseContracts": [ { "baseName": { - "id": 2338, + "id": 3467, "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 308, - "src": "215:13:13" + "referencedDeclaration": 315, + "src": "256:13:16" }, - "id": 2339, + "id": 3468, "nodeType": "InheritanceSpecifier", - "src": "215:13:13" + "src": "256:13:16" }, { "baseName": { - "id": 2340, + "id": 3469, "name": "ERC721Enumerable", "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "230:16:13" + "referencedDeclaration": 1803, + "src": "271:16:16" }, - "id": 2341, + "id": 3470, "nodeType": "InheritanceSpecifier", - "src": "230:16:13" + "src": "271:16:16" } ], "canonicalName": "BEBadge", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 2803, + "id": 3936, "linearizedBaseContracts": [ - 2803, - 1719, - 1750, - 1247, - 1777, - 1363, - 308, - 2321, - 2333, - 381, - 2094 + 3936, + 1803, + 1834, + 1315, + 1861, + 1431, + 315, + 2466, + 2478, + 388, + 2213 ], "name": "BEBadge", - "nameLocation": "204:7:13", + "nameLocation": "245:7:16", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "dcec3294", - "id": 2345, + "id": 3474, "mutability": "mutable", "name": "lockedTokens", - "nameLocation": "283:12:13", + "nameLocation": "324:12:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "251:44:13", + "scope": 3936, + "src": "292:44:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25554,28 +24382,28 @@ "typeString": "mapping(uint256 => bool)" }, "typeName": { - "id": 2344, + "id": 3473, "keyType": { - "id": 2342, + "id": 3471, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "259:7:13", + "src": "300:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Mapping", - "src": "251:24:13", + "src": "292:24:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" }, "valueType": { - "id": 2343, + "id": 3472, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "270:4:13", + "src": "311:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25586,57 +24414,42 @@ }, { "constant": false, - "id": 2348, + "id": 3476, "mutability": "mutable", - "name": "_baseTokenURI", - "nameLocation": "314:13:13", + "name": "_metaAddress", + "nameLocation": "356:12:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "299:72:13", + "scope": 3936, + "src": "340:28:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 2346, - "name": "string", + "id": 3475, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "299:6:13", + "src": "340:7:16", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "value": { - "hexValue": "68747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", - "id": 2347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "330:41:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a22360c1a10c8323f2bd626125be4905616eb83f03cca72bba7f9692c4900800", - "typeString": "literal_string \"https://market.cebg.games/api/nft/info/\"" - }, - "value": "https://market.cebg.games/api/nft/info/" - }, "visibility": "private" }, { "constant": true, "functionSelector": "d5391393", - "id": 2353, + "id": 3481, "mutability": "constant", "name": "MINTER_ROLE", - "nameLocation": "399:11:13", + "nameLocation": "396:11:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "375:62:13", + "scope": 3936, + "src": "372:62:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25644,10 +24457,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2349, + "id": 3477, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "375:7:13", + "src": "372:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25657,14 +24470,14 @@ "arguments": [ { "hexValue": "4d494e5445525f524f4c45", - "id": 2351, + "id": 3479, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "423:13:13", + "src": "420:13:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", "typeString": "literal_string \"MINTER_ROLE\"" @@ -25679,18 +24492,18 @@ "typeString": "literal_string \"MINTER_ROLE\"" } ], - "id": 2350, + "id": 3478, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "413:9:13", + "src": "410:9:16", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2352, + "id": 3480, "isConstant": false, "isLValue": false, "isPure": true, @@ -25698,7 +24511,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "413:24:13", + "src": "410:24:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -25710,13 +24523,13 @@ { "constant": true, "functionSelector": "b930908f", - "id": 2358, + "id": 3486, "mutability": "constant", "name": "BURN_ROLE", - "nameLocation": "465:9:13", + "nameLocation": "462:9:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "441:58:13", + "scope": 3936, + "src": "438:58:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25724,10 +24537,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2354, + "id": 3482, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "441:7:13", + "src": "438:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25737,14 +24550,14 @@ "arguments": [ { "hexValue": "4255524e5f524f4c45", - "id": 2356, + "id": 3484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "487:11:13", + "src": "484:11:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", "typeString": "literal_string \"BURN_ROLE\"" @@ -25759,18 +24572,18 @@ "typeString": "literal_string \"BURN_ROLE\"" } ], - "id": 2355, + "id": 3483, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "477:9:13", + "src": "474:9:16", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2357, + "id": 3485, "isConstant": false, "isLValue": false, "isPure": true, @@ -25778,7 +24591,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "477:22:13", + "src": "474:22:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -25790,13 +24603,13 @@ { "constant": true, "functionSelector": "2f286b1b", - "id": 2363, + "id": 3491, "mutability": "constant", "name": "LOCK_ROLE", - "nameLocation": "527:9:13", + "nameLocation": "524:9:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "503:58:13", + "scope": 3936, + "src": "500:58:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25804,10 +24617,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2359, + "id": 3487, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "503:7:13", + "src": "500:7:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -25817,14 +24630,14 @@ "arguments": [ { "hexValue": "4c4f434b5f524f4c45", - "id": 2361, + "id": 3489, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "549:11:13", + "src": "546:11:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751", "typeString": "literal_string \"LOCK_ROLE\"" @@ -25839,18 +24652,18 @@ "typeString": "literal_string \"LOCK_ROLE\"" } ], - "id": 2360, + "id": 3488, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "539:9:13", + "src": "536:9:16", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2362, + "id": 3490, "isConstant": false, "isLValue": false, "isPure": true, @@ -25858,7 +24671,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "539:22:13", + "src": "536:22:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -25870,13 +24683,13 @@ { "constant": false, "functionSelector": "19d1997a", - "id": 2365, + "id": 3493, "mutability": "immutable", "name": "supplyLimit", - "nameLocation": "590:11:13", + "nameLocation": "587:11:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "565:36:13", + "scope": 3936, + "src": "562:36:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25884,10 +24697,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2364, + "id": 3492, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "565:7:13", + "src": "562:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25897,13 +24710,13 @@ }, { "constant": false, - "id": 2367, + "id": 3495, "mutability": "mutable", "name": "tokenIndex", - "nameLocation": "613:10:13", + "nameLocation": "610:10:16", "nodeType": "VariableDeclaration", - "scope": 2803, - "src": "605:18:13", + "scope": 3936, + "src": "602:18:16", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -25911,10 +24724,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2366, + "id": 3494, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "605:7:13", + "src": "602:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25922,26 +24735,70 @@ }, "visibility": "internal" }, + { + "constant": false, + "functionSelector": "2913daa0", + "id": 3498, + "mutability": "mutable", + "name": "maxBatchSize", + "nameLocation": "639:12:16", + "nodeType": "VariableDeclaration", + "scope": 3936, + "src": "624:33:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "624:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "353030", + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "654:3:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_500_by_1", + "typeString": "int_const 500" + }, + "value": "500" + }, + "visibility": "public" + }, { "anonymous": false, - "id": 2371, + "id": 3502, "name": "Lock", - "nameLocation": "634:4:13", + "nameLocation": "668:4:16", "nodeType": "EventDefinition", "parameters": { - "id": 2370, + "id": 3501, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2369, + "id": 3500, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "655:7:13", + "nameLocation": "689:7:16", "nodeType": "VariableDeclaration", - "scope": 2371, - "src": "639:23:13", + "scope": 3502, + "src": "673:23:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25949,10 +24806,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2368, + "id": 3499, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "639:7:13", + "src": "673:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25961,30 +24818,30 @@ "visibility": "internal" } ], - "src": "638:25:13" + "src": "672:25:16" }, - "src": "628:36:13" + "src": "662:36:16" }, { "anonymous": false, - "id": 2375, + "id": 3506, "name": "UnLock", - "nameLocation": "673:6:13", + "nameLocation": "707:6:16", "nodeType": "EventDefinition", "parameters": { - "id": 2374, + "id": 3505, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2373, + "id": 3504, "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "696:7:13", + "nameLocation": "730:7:16", "nodeType": "VariableDeclaration", - "scope": 2375, - "src": "680:23:13", + "scope": 3506, + "src": "714:23:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25992,10 +24849,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2372, + "id": 3503, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "680:7:13", + "src": "714:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26004,119 +24861,38 @@ "visibility": "internal" } ], - "src": "679:25:13" + "src": "713:25:16" }, - "src": "667:38:13" - }, - { - "anonymous": false, - "id": 2382, - "name": "BatchMint", - "nameLocation": "714:9:13", - "nodeType": "EventDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2377, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "740:2:13", - "nodeType": "VariableDeclaration", - "scope": 2382, - "src": "724:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "724:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "indexed": false, - "mutability": "mutable", - "name": "tokenIds", - "nameLocation": "754:8:13", - "nodeType": "VariableDeclaration", - "scope": 2382, - "src": "744:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "744:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2379, - "nodeType": "ArrayTypeName", - "src": "744:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "723:40:13" - }, - "src": "708:56:13" + "src": "701:38:16" }, { "body": { - "id": 2438, + "id": 3562, "nodeType": "Block", - "src": "884:356:13", + "src": "859:356:16", "statements": [ { "expression": { "arguments": [ { - "id": 2396, + "id": 3520, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "904:11:13", + "referencedDeclaration": 3481, + "src": "879:11:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2397, + "id": 3521, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "917:18:13", + "src": "892:18:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26134,18 +24910,18 @@ "typeString": "bytes32" } ], - "id": 2395, + "id": 3519, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "890:13:13", + "referencedDeclaration": 251, + "src": "865:13:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 2398, + "id": 3522, "isConstant": false, "isLValue": false, "isPure": false, @@ -26153,39 +24929,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "890:46:13", + "src": "865:46:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2399, + "id": 3523, "nodeType": "ExpressionStatement", - "src": "890:46:13" + "src": "865:46:16" }, { "expression": { "arguments": [ { - "id": 2401, + "id": 3525, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "956:9:13", + "referencedDeclaration": 3486, + "src": "931:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2402, + "id": 3526, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "967:18:13", + "src": "942:18:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26203,18 +24979,18 @@ "typeString": "bytes32" } ], - "id": 2400, + "id": 3524, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "942:13:13", + "referencedDeclaration": 251, + "src": "917:13:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 2403, + "id": 3527, "isConstant": false, "isLValue": false, "isPure": false, @@ -26222,39 +24998,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "942:44:13", + "src": "917:44:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2404, + "id": 3528, "nodeType": "ExpressionStatement", - "src": "942:44:13" + "src": "917:44:16" }, { "expression": { "arguments": [ { - "id": 2406, + "id": 3530, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "1006:9:13", + "referencedDeclaration": 3491, + "src": "981:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2407, + "id": 3531, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1017:18:13", + "src": "992:18:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26272,18 +25048,18 @@ "typeString": "bytes32" } ], - "id": 2405, + "id": 3529, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "992:13:13", + "referencedDeclaration": 251, + "src": "967:13:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 2408, + "id": 3532, "isConstant": false, "isLValue": false, "isPure": false, @@ -26291,27 +25067,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "992:44:13", + "src": "967:44:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2409, + "id": 3533, "nodeType": "ExpressionStatement", - "src": "992:44:13" + "src": "967:44:16" }, { "expression": { "arguments": [ { - "id": 2411, + "id": 3535, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1054:18:13", + "src": "1029:18:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26319,25 +25095,25 @@ }, { "expression": { - "id": 2412, + "id": 3536, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1074:3:13", + "src": "1049:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2413, + "id": 3537, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1074:10:13", + "src": "1049:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26355,18 +25131,18 @@ "typeString": "address" } ], - "id": 2410, + "id": 3534, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1043:10:13", + "referencedDeclaration": 223, + "src": "1018:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2414, + "id": 3538, "isConstant": false, "isLValue": false, "isPure": false, @@ -26374,27 +25150,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1043:42:13", + "src": "1018:42:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2415, + "id": 3539, "nodeType": "ExpressionStatement", - "src": "1043:42:13" + "src": "1018:42:16" }, { "expression": { "arguments": [ { - "id": 2417, + "id": 3541, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "1102:11:13", + "referencedDeclaration": 3481, + "src": "1077:11:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26402,25 +25178,25 @@ }, { "expression": { - "id": 2418, + "id": 3542, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1115:3:13", + "src": "1090:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2419, + "id": 3543, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1115:10:13", + "src": "1090:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26438,18 +25214,18 @@ "typeString": "address" } ], - "id": 2416, + "id": 3540, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1091:10:13", + "referencedDeclaration": 223, + "src": "1066:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2420, + "id": 3544, "isConstant": false, "isLValue": false, "isPure": false, @@ -26457,27 +25233,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1091:35:13", + "src": "1066:35:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2421, + "id": 3545, "nodeType": "ExpressionStatement", - "src": "1091:35:13" + "src": "1066:35:16" }, { "expression": { "arguments": [ { - "id": 2423, + "id": 3547, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "1143:9:13", + "referencedDeclaration": 3486, + "src": "1118:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26485,25 +25261,25 @@ }, { "expression": { - "id": 2424, + "id": 3548, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1154:3:13", + "src": "1129:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2425, + "id": 3549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1154:10:13", + "src": "1129:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26521,18 +25297,18 @@ "typeString": "address" } ], - "id": 2422, + "id": 3546, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1132:10:13", + "referencedDeclaration": 223, + "src": "1107:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2426, + "id": 3550, "isConstant": false, "isLValue": false, "isPure": false, @@ -26540,27 +25316,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1132:33:13", + "src": "1107:33:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2427, + "id": 3551, "nodeType": "ExpressionStatement", - "src": "1132:33:13" + "src": "1107:33:16" }, { "expression": { "arguments": [ { - "id": 2429, + "id": 3553, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "1182:9:13", + "referencedDeclaration": 3491, + "src": "1157:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -26568,25 +25344,25 @@ }, { "expression": { - "id": 2430, + "id": 3554, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1193:3:13", + "src": "1168:3:16", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2431, + "id": 3555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1193:10:13", + "src": "1168:10:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26604,18 +25380,18 @@ "typeString": "address" } ], - "id": 2428, + "id": 3552, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "1171:10:13", + "referencedDeclaration": 223, + "src": "1146:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2432, + "id": 3556, "isConstant": false, "isLValue": false, "isPure": false, @@ -26623,31 +25399,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1171:33:13", + "src": "1146:33:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2433, + "id": 3557, "nodeType": "ExpressionStatement", - "src": "1171:33:13" + "src": "1146:33:16" }, { "expression": { - "id": 2436, + "id": 3560, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2434, + "id": 3558, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "1210:11:13", + "referencedDeclaration": 3493, + "src": "1185:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26656,89 +25432,89 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2435, + "id": 3559, "name": "_supplyLimt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "1224:11:13", + "referencedDeclaration": 3512, + "src": "1199:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1210:25:13", + "src": "1185:25:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2437, + "id": 3561, "nodeType": "ExpressionStatement", - "src": "1210:25:13" + "src": "1185:25:16" } ] }, - "id": 2439, + "id": 3563, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 2391, + "id": 3515, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2384, - "src": "868:5:13", + "referencedDeclaration": 3508, + "src": "843:5:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 2392, + "id": 3516, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2386, - "src": "875:7:13", + "referencedDeclaration": 3510, + "src": "850:7:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 2393, + "id": 3517, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 2390, + "id": 3514, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 1247, - "src": "861:6:13" + "referencedDeclaration": 1315, + "src": "836:6:16" }, "nodeType": "ModifierInvocation", - "src": "861:22:13" + "src": "836:22:16" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2389, + "id": 3513, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2384, + "id": 3508, "mutability": "mutable", "name": "_name", - "nameLocation": "799:5:13", + "nameLocation": "774:5:16", "nodeType": "VariableDeclaration", - "scope": 2439, - "src": "785:19:13", + "scope": 3563, + "src": "760:19:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -26746,10 +25522,10 @@ "typeString": "string" }, "typeName": { - "id": 2383, + "id": 3507, "name": "string", "nodeType": "ElementaryTypeName", - "src": "785:6:13", + "src": "760:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -26759,13 +25535,13 @@ }, { "constant": false, - "id": 2386, + "id": 3510, "mutability": "mutable", "name": "_symbol", - "nameLocation": "824:7:13", + "nameLocation": "799:7:16", "nodeType": "VariableDeclaration", - "scope": 2439, - "src": "810:21:13", + "scope": 3563, + "src": "785:21:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -26773,10 +25549,10 @@ "typeString": "string" }, "typeName": { - "id": 2385, + "id": 3509, "name": "string", "nodeType": "ElementaryTypeName", - "src": "810:6:13", + "src": "785:6:16", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -26786,13 +25562,13 @@ }, { "constant": false, - "id": 2388, + "id": 3512, "mutability": "mutable", "name": "_supplyLimt", - "nameLocation": "845:11:13", + "nameLocation": "820:11:16", "nodeType": "VariableDeclaration", - "scope": 2439, - "src": "837:19:13", + "scope": 3563, + "src": "812:19:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26800,10 +25576,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2387, + "id": 3511, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "837:7:13", + "src": "812:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26812,246 +25588,25 @@ "visibility": "internal" } ], - "src": "779:81:13" + "src": "754:81:16" }, "returnParameters": { - "id": 2394, + "id": 3518, "nodeType": "ParameterList", "parameters": [], - "src": "884:0:13" + "src": "859:0:16" }, - "scope": 2803, - "src": "768:472:13", + "scope": 3936, + "src": "743:472:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { - "baseFunctions": [ - 598 - ], "body": { - "id": 2447, + "id": 3651, "nodeType": "Block", - "src": "1319:31:13", - "statements": [ - { - "expression": { - "id": 2445, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2348, - "src": "1332:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2444, - "id": 2446, - "nodeType": "Return", - "src": "1325:20:13" - } - ] - }, - "id": 2448, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "1253:8:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2441, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1286:8:13" - }, - "parameters": { - "id": 2440, - "nodeType": "ParameterList", - "parameters": [], - "src": "1261:2:13" - }, - "returnParameters": { - "id": 2444, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2443, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2448, - "src": "1304:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2442, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1304:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1303:15:13" - }, - "scope": 2803, - "src": "1244:106:13", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2460, - "nodeType": "Block", - "src": "1444:35:13", - "statements": [ - { - "expression": { - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2456, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2348, - "src": "1450:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2457, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2450, - "src": "1466:8:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1450:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2459, - "nodeType": "ExpressionStatement", - "src": "1450:24:13" - } - ] - }, - "functionSelector": "55f804b3", - "id": 2461, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2453, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1424:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2454, - "kind": "modifierInvocation", - "modifierName": { - "id": 2452, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "1415:8:13" - }, - "nodeType": "ModifierInvocation", - "src": "1415:28:13" - } - ], - "name": "setBaseURI", - "nameLocation": "1363:10:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2450, - "mutability": "mutable", - "name": "baseURI_", - "nameLocation": "1393:8:13", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1379:22:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2449, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1379:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1373:32:13" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:0:13" - }, - "scope": 2803, - "src": "1354:125:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2547, - "nodeType": "Block", - "src": "1865:467:13", + "src": "1601:488:16", "statements": [ { "expression": { @@ -27061,18 +25616,128 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2478, + "id": 3580, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2476, + "id": 3578, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "1879:5:13", + "referencedDeclaration": 3568, + "src": "1615:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1623:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1615:9:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f20736d616c6c", + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1626:20:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" + }, + "value": "tokenIds too small" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" + } + ], + "id": 3577, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1607:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1607:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3583, + "nodeType": "ExpressionStatement", + "src": "1607:40:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3585, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3568, + "src": "1661:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27081,22 +25746,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "hexValue": "313030", - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1888:3:13", + "id": 3586, + "name": "maxBatchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3498, + "src": "1670:12:16", "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "1879:12:13", + "src": "1661:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27104,14 +25765,14 @@ }, { "hexValue": "746f6b656e49647320746f6f206d616e79", - "id": 2479, + "id": 3588, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1893:19:13", + "src": "1684:19:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", "typeString": "literal_string \"tokenIds too many\"" @@ -27130,7 +25791,7 @@ "typeString": "literal_string \"tokenIds too many\"" } ], - "id": 2475, + "id": 3584, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27138,13 +25799,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1871:7:13", + "src": "1653:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2480, + "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, @@ -27152,16 +25813,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1871:42:13", + "src": "1653:51:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2481, + "id": 3590, "nodeType": "ExpressionStatement", - "src": "1871:42:13" + "src": "1653:51:16" }, { "condition": { @@ -27169,18 +25830,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2484, + "id": 3593, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2482, + "id": 3591, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "1923:11:13", + "referencedDeclaration": 3493, + "src": "1714:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27190,33 +25851,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 2483, + "id": 3592, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1937:1:13", + "src": "1728:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1923:15:13", + "src": "1714:15:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2497, + "id": 3606, "nodeType": "IfStatement", - "src": "1919:134:13", + "src": "1710:134:16", "trueBody": { - "id": 2496, + "id": 3605, "nodeType": "Block", - "src": "1940:113:13", + "src": "1731:113:16", "statements": [ { "expression": { @@ -27226,7 +25887,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2492, + "id": 3601, "isConstant": false, "isLValue": false, "isPure": false, @@ -27238,7 +25899,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2489, + "id": 3598, "isConstant": false, "isLValue": false, "isPure": false, @@ -27247,18 +25908,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2486, + "id": 3595, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1470, - "src": "1966:11:13", + "referencedDeclaration": 1538, + "src": "1757:11:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 2487, + "id": 3596, "isConstant": false, "isLValue": false, "isPure": false, @@ -27266,7 +25927,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1966:13:13", + "src": "1757:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27276,32 +25937,32 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 2488, + "id": 3597, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "1982:5:13", + "referencedDeclaration": 3568, + "src": "1773:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1966:21:13", + "src": "1757:21:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2490, + "id": 3599, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1965:23:13", + "src": "1756:23:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27310,18 +25971,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 2491, + "id": 3600, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "1992:11:13", + "referencedDeclaration": 3493, + "src": "1783:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1965:38:13", + "src": "1756:38:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27329,14 +25990,14 @@ }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", - "id": 2493, + "id": 3602, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2013:25:13", + "src": "1804:25:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "typeString": "literal_string \"Exceed the total supply\"" @@ -27355,7 +26016,7 @@ "typeString": "literal_string \"Exceed the total supply\"" } ], - "id": 2485, + "id": 3594, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27363,13 +26024,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1948:7:13", + "src": "1739:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2494, + "id": 3603, "isConstant": false, "isLValue": false, "isPure": false, @@ -27377,34 +26038,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1948:98:13", + "src": "1739:98:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2495, + "id": 3604, "nodeType": "ExpressionStatement", - "src": "1948:98:13" + "src": "1739:98:16" } ] } }, { "assignments": [ - 2502 + 3611 ], "declarations": [ { "constant": false, - "id": 2502, + "id": 3611, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "2075:8:13", + "nameLocation": "1866:8:16", "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2058:25:13", + "scope": 3651, + "src": "1849:25:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27413,18 +26074,18 @@ }, "typeName": { "baseType": { - "id": 2500, + "id": 3609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2058:7:13", + "src": "1849:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2501, + "id": 3610, "nodeType": "ArrayTypeName", - "src": "2058:9:13", + "src": "1849:9:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27433,16 +26094,16 @@ "visibility": "internal" } ], - "id": 2508, + "id": 3617, "initialValue": { "arguments": [ { - "id": 2506, + "id": 3615, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "2100:5:13", + "referencedDeclaration": 3568, + "src": "1891:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27456,38 +26117,38 @@ "typeString": "uint256" } ], - "id": 2505, + "id": 3614, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "2086:13:13", + "src": "1877:13:16", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 2503, + "id": 3612, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2090:7:13", + "src": "1881:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2504, + "id": 3613, "nodeType": "ArrayTypeName", - "src": "2090:9:13", + "src": "1881:9:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 2507, + "id": 3616, "isConstant": false, "isLValue": false, "isPure": false, @@ -27495,7 +26156,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2086:20:13", + "src": "1877:20:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -27503,28 +26164,28 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2058:48:13" + "src": "1849:48:16" }, { "body": { - "id": 2538, + "id": 3647, "nodeType": "Block", - "src": "2148:125:13", + "src": "1939:125:16", "statements": [ { "expression": { - "id": 2521, + "id": 3630, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2519, + "id": 3628, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "2156:10:13", + "referencedDeclaration": 3495, + "src": "1947:10:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27534,44 +26195,44 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 2520, + "id": 3629, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2170:1:13", + "src": "1961:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2156:15:13", + "src": "1947:15:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2522, + "id": 3631, "nodeType": "ExpressionStatement", - "src": "2156:15:13" + "src": "1947:15:16" }, { "assignments": [ - 2524 + 3633 ], "declarations": [ { "constant": false, - "id": 2524, + "id": 3633, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2187:7:13", + "nameLocation": "1978:7:16", "nodeType": "VariableDeclaration", - "scope": 2538, - "src": "2179:15:13", + "scope": 3647, + "src": "1970:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27579,10 +26240,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2523, + "id": 3632, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2179:7:13", + "src": "1970:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27591,44 +26252,44 @@ "visibility": "internal" } ], - "id": 2526, + "id": 3635, "initialValue": { - "id": 2525, + "id": 3634, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2367, - "src": "2197:10:13", + "referencedDeclaration": 3495, + "src": "1988:10:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2179:28:13" + "src": "1970:28:16" }, { "expression": { "arguments": [ { - "id": 2528, + "id": 3637, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "2225:2:13", + "referencedDeclaration": 3566, + "src": "2016:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2529, + "id": 3638, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "2229:7:13", + "referencedDeclaration": 3633, + "src": "2020:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27646,21 +26307,21 @@ "typeString": "uint256" } ], - "id": 2527, + "id": 3636, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [ - 876, - 905 + 883, + 912 ], - "referencedDeclaration": 876, - "src": "2215:9:13", + "referencedDeclaration": 883, + "src": "2006:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2530, + "id": 3639, "isConstant": false, "isLValue": false, "isPure": false, @@ -27668,45 +26329,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2215:22:13", + "src": "2006:22:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2531, + "id": 3640, "nodeType": "ExpressionStatement", - "src": "2215:22:13" + "src": "2006:22:16" }, { "expression": { - "id": 2536, + "id": 3645, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2532, + "id": 3641, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2245:8:13", + "referencedDeclaration": 3611, + "src": "2036:8:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 2534, + "id": 3643, "indexExpression": { - "id": 2533, + "id": 3642, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2254:1:13", + "referencedDeclaration": 3619, + "src": "2045:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27717,7 +26378,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2245:11:13", + "src": "2036:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27726,26 +26387,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2535, + "id": 3644, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "2259:7:13", + "referencedDeclaration": 3633, + "src": "2050:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2245:21:13", + "src": "2036:21:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2537, + "id": 3646, "nodeType": "ExpressionStatement", - "src": "2245:21:13" + "src": "2036:21:16" } ] }, @@ -27754,18 +26415,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2515, + "id": 3624, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2513, + "id": 3622, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2132:1:13", + "referencedDeclaration": 3619, + "src": "1923:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27774,38 +26435,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2514, + "id": 3623, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "2136:5:13", + "referencedDeclaration": 3568, + "src": "1927:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2132:9:13", + "src": "1923:9:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2539, + "id": 3648, "initializationExpression": { "assignments": [ - 2510 + 3619 ], "declarations": [ { "constant": false, - "id": 2510, + "id": 3619, "mutability": "mutable", "name": "i", - "nameLocation": "2125:1:13", + "nameLocation": "1916:1:16", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2117:9:13", + "scope": 3648, + "src": "1908:9:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27813,10 +26474,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2509, + "id": 3618, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2117:7:13", + "src": "1908:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27825,17 +26486,17 @@ "visibility": "internal" } ], - "id": 2512, + "id": 3621, "initialValue": { "hexValue": "30", - "id": 2511, + "id": 3620, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2129:1:13", + "src": "1920:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27843,11 +26504,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2117:13:13" + "src": "1908:13:16" }, "loopExpression": { "expression": { - "id": 2517, + "id": 3626, "isConstant": false, "isLValue": false, "isPure": false, @@ -27855,14 +26516,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2143:3:13", + "src": "1934:3:16", "subExpression": { - "id": 2516, + "id": 3625, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2143:1:13", + "referencedDeclaration": 3619, + "src": "1934:1:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27873,157 +26534,88 @@ "typeString": "uint256" } }, - "id": 2518, + "id": 3627, "nodeType": "ExpressionStatement", - "src": "2143:3:13" + "src": "1934:3:16" }, "nodeType": "ForStatement", - "src": "2112:161:13" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2541, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "2293:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2542, - "name": "tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2297:8:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 2540, - "name": "BatchMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2382, - "src": "2283:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory)" - } - }, - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2283:23:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2544, - "nodeType": "EmitStatement", - "src": "2278:28:13" + "src": "1903:161:16" }, { "expression": { - "id": 2545, + "id": 3649, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2319:8:13", + "referencedDeclaration": 3611, + "src": "2076:8:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 2474, - "id": 2546, + "functionReturnParameters": 3576, + "id": 3650, "nodeType": "Return", - "src": "2312:15:13" + "src": "2069:15:16" } ] }, "documentation": { - "id": 2462, + "id": 3564, "nodeType": "StructuredDocumentation", - "src": "1483:262:13", + "src": "1219:262:16", "text": " @dev Batch mint tokens and transfer to specified address.\n Requirements:\n - Caller must have `MINTER_ROLE`.\n - The total supply limit should not be exceeded.\n - The number of tokenIds offered for minting should not exceed 100." }, "functionSelector": "43508b05", - "id": 2548, + "id": 3652, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2469, + "id": 3571, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "1825:11:13", + "referencedDeclaration": 3481, + "src": "1561:11:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2470, + "id": 3572, "kind": "modifierInvocation", "modifierName": { - "id": 2468, + "id": 3570, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "1816:8:13" + "referencedDeclaration": 38, + "src": "1552:8:16" }, "nodeType": "ModifierInvocation", - "src": "1816:21:13" + "src": "1552:21:16" } ], "name": "batchMint", - "nameLocation": "1758:9:13", + "nameLocation": "1494:9:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2467, + "id": 3569, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2464, + "id": 3566, "mutability": "mutable", "name": "to", - "nameLocation": "1781:2:13", + "nameLocation": "1517:2:16", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1773:10:13", + "scope": 3652, + "src": "1509:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28031,10 +26623,10 @@ "typeString": "address" }, "typeName": { - "id": 2463, + "id": 3565, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1773:7:13", + "src": "1509:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28045,13 +26637,13 @@ }, { "constant": false, - "id": 2466, + "id": 3568, "mutability": "mutable", "name": "count", - "nameLocation": "1797:5:13", + "nameLocation": "1533:5:16", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1789:13:13", + "scope": 3652, + "src": "1525:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28059,10 +26651,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2465, + "id": 3567, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1789:7:13", + "src": "1525:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28071,21 +26663,21 @@ "visibility": "internal" } ], - "src": "1767:39:13" + "src": "1503:39:16" }, "returnParameters": { - "id": 2474, + "id": 3576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2473, + "id": 3575, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1847:16:13", + "scope": 3652, + "src": "1583:16:16", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -28094,18 +26686,18 @@ }, "typeName": { "baseType": { - "id": 2471, + "id": 3573, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1847:7:13", + "src": "1583:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2472, + "id": 3574, "nodeType": "ArrayTypeName", - "src": "1847:9:13", + "src": "1583:9:16", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -28114,42 +26706,42 @@ "visibility": "internal" } ], - "src": "1846:18:13" + "src": "1582:18:16" }, - "scope": 2803, - "src": "1749:583:13", + "scope": 3936, + "src": "1485:604:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2559, + "id": 3663, "nodeType": "Block", - "src": "2427:37:13", + "src": "2184:37:16", "statements": [ { "expression": { "arguments": [ { - "id": 2555, + "id": 3659, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "2443:11:13", + "referencedDeclaration": 3481, + "src": "2200:11:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2556, + "id": 3660, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2551, - "src": "2456:2:13", + "referencedDeclaration": 3655, + "src": "2213:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28167,18 +26759,18 @@ "typeString": "address" } ], - "id": 2554, + "id": 3658, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "2433:9:13", + "referencedDeclaration": 166, + "src": "2190:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2557, + "id": 3661, "isConstant": false, "isLValue": false, "isPure": false, @@ -28186,46 +26778,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2433:26:13", + "src": "2190:26:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2558, + "id": 3662, "nodeType": "ExpressionStatement", - "src": "2433:26:13" + "src": "2190:26:16" } ] }, "documentation": { - "id": 2549, + "id": 3653, "nodeType": "StructuredDocumentation", - "src": "2336:46:13", + "src": "2093:46:16", "text": " @dev Grant mint role to address" }, "functionSelector": "530dd079", - "id": 2560, + "id": 3664, "implemented": true, "kind": "function", "modifiers": [], "name": "setMintRole", - "nameLocation": "2394:11:13", + "nameLocation": "2151:11:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2552, + "id": 3656, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2551, + "id": 3655, "mutability": "mutable", "name": "to", - "nameLocation": "2414:2:13", + "nameLocation": "2171:2:16", "nodeType": "VariableDeclaration", - "scope": 2560, - "src": "2406:10:13", + "scope": 3664, + "src": "2163:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28233,10 +26825,10 @@ "typeString": "address" }, "typeName": { - "id": 2550, + "id": 3654, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2406:7:13", + "src": "2163:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28246,48 +26838,48 @@ "visibility": "internal" } ], - "src": "2405:12:13" + "src": "2162:12:16" }, "returnParameters": { - "id": 2553, + "id": 3657, "nodeType": "ParameterList", "parameters": [], - "src": "2427:0:13" + "src": "2184:0:16" }, - "scope": 2803, - "src": "2385:79:13", + "scope": 3936, + "src": "2142:79:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2571, + "id": 3675, "nodeType": "Block", - "src": "2563:38:13", + "src": "2320:38:16", "statements": [ { "expression": { "arguments": [ { - "id": 2567, + "id": 3671, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2353, - "src": "2580:11:13", + "referencedDeclaration": 3481, + "src": "2337:11:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2568, + "id": 3672, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "2593:2:13", + "referencedDeclaration": 3667, + "src": "2350:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28305,18 +26897,18 @@ "typeString": "address" } ], - "id": 2566, + "id": 3670, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "2569:10:13", + "referencedDeclaration": 186, + "src": "2326:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2569, + "id": 3673, "isConstant": false, "isLValue": false, "isPure": false, @@ -28324,46 +26916,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2569:27:13", + "src": "2326:27:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2570, + "id": 3674, "nodeType": "ExpressionStatement", - "src": "2569:27:13" + "src": "2326:27:16" } ] }, "documentation": { - "id": 2561, + "id": 3665, "nodeType": "StructuredDocumentation", - "src": "2468:47:13", + "src": "2225:47:16", "text": " @dev Remove mint role to address" }, "functionSelector": "1cf4e3ee", - "id": 2572, + "id": 3676, "implemented": true, "kind": "function", "modifiers": [], "name": "removeMintRole", - "nameLocation": "2527:14:13", + "nameLocation": "2284:14:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2564, + "id": 3668, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2563, + "id": 3667, "mutability": "mutable", "name": "to", - "nameLocation": "2550:2:13", + "nameLocation": "2307:2:16", "nodeType": "VariableDeclaration", - "scope": 2572, - "src": "2542:10:13", + "scope": 3676, + "src": "2299:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28371,10 +26963,10 @@ "typeString": "address" }, "typeName": { - "id": 2562, + "id": 3666, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2542:7:13", + "src": "2299:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28384,48 +26976,48 @@ "visibility": "internal" } ], - "src": "2541:12:13" + "src": "2298:12:16" }, "returnParameters": { - "id": 2565, + "id": 3669, "nodeType": "ParameterList", "parameters": [], - "src": "2563:0:13" + "src": "2320:0:16" }, - "scope": 2803, - "src": "2518:83:13", + "scope": 3936, + "src": "2275:83:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2583, + "id": 3687, "nodeType": "Block", - "src": "2696:35:13", + "src": "2453:35:16", "statements": [ { "expression": { "arguments": [ { - "id": 2579, + "id": 3683, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "2712:9:13", + "referencedDeclaration": 3486, + "src": "2469:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2580, + "id": 3684, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2575, - "src": "2723:2:13", + "referencedDeclaration": 3679, + "src": "2480:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28443,18 +27035,18 @@ "typeString": "address" } ], - "id": 2578, + "id": 3682, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "2702:9:13", + "referencedDeclaration": 166, + "src": "2459:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2581, + "id": 3685, "isConstant": false, "isLValue": false, "isPure": false, @@ -28462,46 +27054,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2702:24:13", + "src": "2459:24:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2582, + "id": 3686, "nodeType": "ExpressionStatement", - "src": "2702:24:13" + "src": "2459:24:16" } ] }, "documentation": { - "id": 2573, + "id": 3677, "nodeType": "StructuredDocumentation", - "src": "2605:46:13", + "src": "2362:46:16", "text": " @dev grant burn role to address" }, "functionSelector": "327ba615", - "id": 2584, + "id": 3688, "implemented": true, "kind": "function", "modifiers": [], "name": "setBurnRole", - "nameLocation": "2663:11:13", + "nameLocation": "2420:11:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2576, + "id": 3680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2575, + "id": 3679, "mutability": "mutable", "name": "to", - "nameLocation": "2683:2:13", + "nameLocation": "2440:2:16", "nodeType": "VariableDeclaration", - "scope": 2584, - "src": "2675:10:13", + "scope": 3688, + "src": "2432:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28509,10 +27101,10 @@ "typeString": "address" }, "typeName": { - "id": 2574, + "id": 3678, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2675:7:13", + "src": "2432:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28522,48 +27114,48 @@ "visibility": "internal" } ], - "src": "2674:12:13" + "src": "2431:12:16" }, "returnParameters": { - "id": 2577, + "id": 3681, "nodeType": "ParameterList", "parameters": [], - "src": "2696:0:13" + "src": "2453:0:16" }, - "scope": 2803, - "src": "2654:77:13", + "scope": 3936, + "src": "2411:77:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2595, + "id": 3699, "nodeType": "Block", - "src": "2833:39:13", + "src": "2590:39:16", "statements": [ { "expression": { "arguments": [ { - "id": 2591, + "id": 3695, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "2850:9:13", + "referencedDeclaration": 3486, + "src": "2607:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2592, + "id": 3696, "name": "proxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "2861:5:13", + "referencedDeclaration": 3691, + "src": "2618:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28581,18 +27173,18 @@ "typeString": "address" } ], - "id": 2590, + "id": 3694, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "2839:10:13", + "referencedDeclaration": 186, + "src": "2596:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2593, + "id": 3697, "isConstant": false, "isLValue": false, "isPure": false, @@ -28600,46 +27192,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2839:28:13", + "src": "2596:28:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2594, + "id": 3698, "nodeType": "ExpressionStatement", - "src": "2839:28:13" + "src": "2596:28:16" } ] }, "documentation": { - "id": 2585, + "id": 3689, "nodeType": "StructuredDocumentation", - "src": "2735:47:13", + "src": "2492:47:16", "text": " @dev Remove burn role to address" }, "functionSelector": "965f4c60", - "id": 2596, + "id": 3700, "implemented": true, "kind": "function", "modifiers": [], "name": "removeBurnRole", - "nameLocation": "2794:14:13", + "nameLocation": "2551:14:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2588, + "id": 3692, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2587, + "id": 3691, "mutability": "mutable", "name": "proxy", - "nameLocation": "2817:5:13", + "nameLocation": "2574:5:16", "nodeType": "VariableDeclaration", - "scope": 2596, - "src": "2809:13:13", + "scope": 3700, + "src": "2566:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28647,10 +27239,10 @@ "typeString": "address" }, "typeName": { - "id": 2586, + "id": 3690, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2809:7:13", + "src": "2566:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28660,48 +27252,48 @@ "visibility": "internal" } ], - "src": "2808:15:13" + "src": "2565:15:16" }, "returnParameters": { - "id": 2589, + "id": 3693, "nodeType": "ParameterList", "parameters": [], - "src": "2833:0:13" + "src": "2590:0:16" }, - "scope": 2803, - "src": "2785:87:13", + "scope": 3936, + "src": "2542:87:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2607, + "id": 3711, "nodeType": "Block", - "src": "2968:35:13", + "src": "2725:35:16", "statements": [ { "expression": { "arguments": [ { - "id": 2603, + "id": 3707, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "2984:9:13", + "referencedDeclaration": 3491, + "src": "2741:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2604, + "id": 3708, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "2995:2:13", + "referencedDeclaration": 3703, + "src": "2752:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28719,18 +27311,18 @@ "typeString": "address" } ], - "id": 2602, + "id": 3706, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "2974:9:13", + "referencedDeclaration": 166, + "src": "2731:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2605, + "id": 3709, "isConstant": false, "isLValue": false, "isPure": false, @@ -28738,46 +27330,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2974:24:13", + "src": "2731:24:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2606, + "id": 3710, "nodeType": "ExpressionStatement", - "src": "2974:24:13" + "src": "2731:24:16" } ] }, "documentation": { - "id": 2597, + "id": 3701, "nodeType": "StructuredDocumentation", - "src": "2876:45:13", + "src": "2633:45:16", "text": " @dev Add address for lock item" }, "functionSelector": "ace9e2e2", - "id": 2608, + "id": 3712, "implemented": true, "kind": "function", "modifiers": [], "name": "grantLockRole", - "nameLocation": "2933:13:13", + "nameLocation": "2690:13:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2600, + "id": 3704, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2599, + "id": 3703, "mutability": "mutable", "name": "to", - "nameLocation": "2955:2:13", + "nameLocation": "2712:2:16", "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "2947:10:13", + "scope": 3712, + "src": "2704:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28785,10 +27377,10 @@ "typeString": "address" }, "typeName": { - "id": 2598, + "id": 3702, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2947:7:13", + "src": "2704:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28798,48 +27390,48 @@ "visibility": "internal" } ], - "src": "2946:12:13" + "src": "2703:12:16" }, "returnParameters": { - "id": 2601, + "id": 3705, "nodeType": "ParameterList", "parameters": [], - "src": "2968:0:13" + "src": "2725:0:16" }, - "scope": 2803, - "src": "2924:79:13", + "scope": 3936, + "src": "2681:79:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2619, + "id": 3723, "nodeType": "Block", - "src": "3108:41:13", + "src": "2865:41:16", "statements": [ { "expression": { "arguments": [ { - "id": 2615, + "id": 3719, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "3125:9:13", + "referencedDeclaration": 3491, + "src": "2882:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2616, + "id": 3720, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "3136:7:13", + "referencedDeclaration": 3715, + "src": "2893:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28857,18 +27449,18 @@ "typeString": "address" } ], - "id": 2614, + "id": 3718, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3114:10:13", + "referencedDeclaration": 186, + "src": "2871:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2617, + "id": 3721, "isConstant": false, "isLValue": false, "isPure": false, @@ -28876,46 +27468,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3114:30:13", + "src": "2871:30:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2618, + "id": 3722, "nodeType": "ExpressionStatement", - "src": "3114:30:13" + "src": "2871:30:16" } ] }, "documentation": { - "id": 2609, + "id": 3713, "nodeType": "StructuredDocumentation", - "src": "3007:48:13", + "src": "2764:48:16", "text": " @dev Remove address for lock item" }, "functionSelector": "79deb6e7", - "id": 2620, + "id": 3724, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLockRole", - "nameLocation": "3067:14:13", + "nameLocation": "2824:14:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2612, + "id": 3716, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2611, + "id": 3715, "mutability": "mutable", "name": "account", - "nameLocation": "3090:7:13", + "nameLocation": "2847:7:16", "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "3082:15:13", + "scope": 3724, + "src": "2839:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28923,10 +27515,10 @@ "typeString": "address" }, "typeName": { - "id": 2610, + "id": 3714, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3082:7:13", + "src": "2839:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28936,25 +27528,25 @@ "visibility": "internal" } ], - "src": "3081:17:13" + "src": "2838:17:16" }, "returnParameters": { - "id": 2613, + "id": 3717, "nodeType": "ParameterList", "parameters": [], - "src": "3108:0:13" + "src": "2865:0:16" }, - "scope": 2803, - "src": "3058:91:13", + "scope": 3936, + "src": "2815:91:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2654, + "id": 3758, "nodeType": "Block", - "src": "3275:184:13", + "src": "3032:184:16", "statements": [ { "expression": { @@ -28962,12 +27554,12 @@ { "arguments": [ { - "id": 2631, + "id": 3735, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3297:7:13", + "referencedDeclaration": 3727, + "src": "3054:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28981,18 +27573,18 @@ "typeString": "uint256" } ], - "id": 2630, + "id": 3734, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "3289:7:13", + "referencedDeclaration": 834, + "src": "3046:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2632, + "id": 3736, "isConstant": false, "isLValue": false, "isPure": false, @@ -29000,7 +27592,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3289:16:13", + "src": "3046:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29009,14 +27601,14 @@ }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", - "id": 2633, + "id": 3737, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3307:23:13", + "src": "3064:23:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "typeString": "literal_string \"Must be valid tokenId\"" @@ -29035,7 +27627,7 @@ "typeString": "literal_string \"Must be valid tokenId\"" } ], - "id": 2629, + "id": 3733, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29043,13 +27635,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3281:7:13", + "src": "3038:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2634, + "id": 3738, "isConstant": false, "isLValue": false, "isPure": false, @@ -29057,22 +27649,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3281:50:13", + "src": "3038:50:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2635, + "id": 3739, "nodeType": "ExpressionStatement", - "src": "3281:50:13" + "src": "3038:50:16" }, { "expression": { "arguments": [ { - "id": 2640, + "id": 3744, "isConstant": false, "isLValue": false, "isPure": false, @@ -29080,28 +27672,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3345:22:13", + "src": "3102:22:16", "subExpression": { "baseExpression": { - "id": 2637, + "id": 3741, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "3346:12:13", + "referencedDeclaration": 3474, + "src": "3103:12:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2639, + "id": 3743, "indexExpression": { - "id": 2638, + "id": 3742, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3359:7:13", + "referencedDeclaration": 3727, + "src": "3116:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29112,7 +27704,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3346:21:13", + "src": "3103:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29125,14 +27717,14 @@ }, { "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", - "id": 2641, + "id": 3745, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3369:26:13", + "src": "3126:26:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", "typeString": "literal_string \"Token has already locked\"" @@ -29151,7 +27743,7 @@ "typeString": "literal_string \"Token has already locked\"" } ], - "id": 2636, + "id": 3740, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29159,13 +27751,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3337:7:13", + "src": "3094:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2642, + "id": 3746, "isConstant": false, "isLValue": false, "isPure": false, @@ -29173,45 +27765,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3337:59:13", + "src": "3094:59:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2643, + "id": 3747, "nodeType": "ExpressionStatement", - "src": "3337:59:13" + "src": "3094:59:16" }, { "expression": { - "id": 2648, + "id": 3752, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2644, + "id": 3748, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "3402:12:13", + "referencedDeclaration": 3474, + "src": "3159:12:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2646, + "id": 3750, "indexExpression": { - "id": 2645, + "id": 3749, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3415:7:13", + "referencedDeclaration": 3727, + "src": "3172:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29222,7 +27814,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3402:21:13", + "src": "3159:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29232,40 +27824,40 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 2647, + "id": 3751, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3426:4:13", + "src": "3183:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3402:28:13", + "src": "3159:28:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2649, + "id": 3753, "nodeType": "ExpressionStatement", - "src": "3402:28:13" + "src": "3159:28:16" }, { "eventCall": { "arguments": [ { - "id": 2651, + "id": 3755, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3446:7:13", + "referencedDeclaration": 3727, + "src": "3203:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29279,18 +27871,18 @@ "typeString": "uint256" } ], - "id": 2650, + "id": 3754, "name": "Lock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "3441:4:13", + "referencedDeclaration": 3502, + "src": "3198:4:16", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2652, + "id": 3756, "isConstant": false, "isLValue": false, "isPure": false, @@ -29298,74 +27890,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3441:13:13", + "src": "3198:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2653, + "id": 3757, "nodeType": "EmitStatement", - "src": "3436:18:13" + "src": "3193:18:16" } ] }, "documentation": { - "id": 2621, + "id": 3725, "nodeType": "StructuredDocumentation", - "src": "3153:59:13", + "src": "2910:59:16", "text": " @dev Lock token to use in game or for rental" }, "functionSelector": "dd467064", - "id": 2655, + "id": 3759, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2626, + "id": 3730, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "3264:9:13", + "referencedDeclaration": 3491, + "src": "3021:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2627, + "id": 3731, "kind": "modifierInvocation", "modifierName": { - "id": 2625, + "id": 3729, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "3255:8:13" + "referencedDeclaration": 38, + "src": "3012:8:16" }, "nodeType": "ModifierInvocation", - "src": "3255:19:13" + "src": "3012:19:16" } ], "name": "lock", - "nameLocation": "3224:4:13", + "nameLocation": "2981:4:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2624, + "id": 3728, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2623, + "id": 3727, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3237:7:13", + "nameLocation": "2994:7:16", "nodeType": "VariableDeclaration", - "scope": 2655, - "src": "3229:15:13", + "scope": 3759, + "src": "2986:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29373,10 +27965,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2622, + "id": 3726, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3229:7:13", + "src": "2986:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29385,25 +27977,25 @@ "visibility": "internal" } ], - "src": "3228:17:13" + "src": "2985:17:16" }, "returnParameters": { - "id": 2628, + "id": 3732, "nodeType": "ParameterList", "parameters": [], - "src": "3275:0:13" + "src": "3032:0:16" }, - "scope": 2803, - "src": "3215:244:13", + "scope": 3936, + "src": "2972:244:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2688, + "id": 3792, "nodeType": "Block", - "src": "3601:188:13", + "src": "3358:188:16", "statements": [ { "expression": { @@ -29411,12 +28003,12 @@ { "arguments": [ { - "id": 2666, + "id": 3770, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3623:7:13", + "referencedDeclaration": 3762, + "src": "3380:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29430,18 +28022,18 @@ "typeString": "uint256" } ], - "id": 2665, + "id": 3769, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "3615:7:13", + "referencedDeclaration": 834, + "src": "3372:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2667, + "id": 3771, "isConstant": false, "isLValue": false, "isPure": false, @@ -29449,7 +28041,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3615:16:13", + "src": "3372:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29458,14 +28050,14 @@ }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", - "id": 2668, + "id": 3772, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3633:23:13", + "src": "3390:23:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "typeString": "literal_string \"Must be valid tokenId\"" @@ -29484,7 +28076,7 @@ "typeString": "literal_string \"Must be valid tokenId\"" } ], - "id": 2664, + "id": 3768, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29492,13 +28084,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3607:7:13", + "src": "3364:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2669, + "id": 3773, "isConstant": false, "isLValue": false, "isPure": false, @@ -29506,41 +28098,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3607:50:13", + "src": "3364:50:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2670, + "id": 3774, "nodeType": "ExpressionStatement", - "src": "3607:50:13" + "src": "3364:50:16" }, { "expression": { "arguments": [ { "baseExpression": { - "id": 2672, + "id": 3776, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "3671:12:13", + "referencedDeclaration": 3474, + "src": "3428:12:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2674, + "id": 3778, "indexExpression": { - "id": 2673, + "id": 3777, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3684:7:13", + "referencedDeclaration": 3762, + "src": "3441:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29551,7 +28143,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3671:21:13", + "src": "3428:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29559,14 +28151,14 @@ }, { "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", - "id": 2675, + "id": 3779, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3694:28:13", + "src": "3451:28:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", "typeString": "literal_string \"Token has already unlocked\"" @@ -29585,7 +28177,7 @@ "typeString": "literal_string \"Token has already unlocked\"" } ], - "id": 2671, + "id": 3775, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29593,13 +28185,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3663:7:13", + "src": "3420:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2676, + "id": 3780, "isConstant": false, "isLValue": false, "isPure": false, @@ -29607,45 +28199,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3663:60:13", + "src": "3420:60:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2677, + "id": 3781, "nodeType": "ExpressionStatement", - "src": "3663:60:13" + "src": "3420:60:16" }, { "expression": { - "id": 2682, + "id": 3786, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2678, + "id": 3782, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "3729:12:13", + "referencedDeclaration": 3474, + "src": "3486:12:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2680, + "id": 3784, "indexExpression": { - "id": 2679, + "id": 3783, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3742:7:13", + "referencedDeclaration": 3762, + "src": "3499:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29656,7 +28248,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3729:21:13", + "src": "3486:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29666,40 +28258,40 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 2681, + "id": 3785, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3753:5:13", + "src": "3510:5:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "3729:29:13", + "src": "3486:29:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2683, + "id": 3787, "nodeType": "ExpressionStatement", - "src": "3729:29:13" + "src": "3486:29:16" }, { "eventCall": { "arguments": [ { - "id": 2685, + "id": 3789, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3776:7:13", + "referencedDeclaration": 3762, + "src": "3533:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29713,18 +28305,18 @@ "typeString": "uint256" } ], - "id": 2684, + "id": 3788, "name": "UnLock", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2375, - "src": "3769:6:13", + "referencedDeclaration": 3506, + "src": "3526:6:16", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2686, + "id": 3790, "isConstant": false, "isLValue": false, "isPure": false, @@ -29732,74 +28324,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3769:15:13", + "src": "3526:15:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2687, + "id": 3791, "nodeType": "EmitStatement", - "src": "3764:20:13" + "src": "3521:20:16" } ] }, "documentation": { - "id": 2656, + "id": 3760, "nodeType": "StructuredDocumentation", - "src": "3463:73:13", + "src": "3220:73:16", "text": " @dev Unlock token to use blockchain or sale on marketplace" }, "functionSelector": "6198e339", - "id": 2689, + "id": 3793, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2661, + "id": 3765, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2363, - "src": "3590:9:13", + "referencedDeclaration": 3491, + "src": "3347:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2662, + "id": 3766, "kind": "modifierInvocation", "modifierName": { - "id": 2660, + "id": 3764, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "3581:8:13" + "referencedDeclaration": 38, + "src": "3338:8:16" }, "nodeType": "ModifierInvocation", - "src": "3581:19:13" + "src": "3338:19:16" } ], "name": "unlock", - "nameLocation": "3548:6:13", + "nameLocation": "3305:6:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2659, + "id": 3763, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2658, + "id": 3762, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3563:7:13", + "nameLocation": "3320:7:16", "nodeType": "VariableDeclaration", - "scope": 2689, - "src": "3555:15:13", + "scope": 3793, + "src": "3312:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29807,10 +28399,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2657, + "id": 3761, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3555:7:13", + "src": "3312:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29819,377 +28411,230 @@ "visibility": "internal" } ], - "src": "3554:17:13" + "src": "3311:17:16" }, "returnParameters": { - "id": 2663, + "id": 3767, "nodeType": "ParameterList", "parameters": [], - "src": "3601:0:13" + "src": "3358:0:16" }, - "scope": 2803, - "src": "3539:250:13", + "scope": 3936, + "src": "3296:250:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2701, + "id": 3806, "nodeType": "Block", - "src": "3895:39:13", + "src": "3680:37:16", "statements": [ { "expression": { - "baseExpression": { - "id": 2697, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "3908:12:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 2699, - "indexExpression": { - "id": 2698, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "3921:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3908:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2696, - "id": 2700, - "nodeType": "Return", - "src": "3901:28:13" - } - ] - }, - "documentation": { - "id": 2690, - "nodeType": "StructuredDocumentation", - "src": "3793:35:13", - "text": " @dev Get lock status" - }, - "functionSelector": "f6aacfb1", - "id": 2702, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isLocked", - "nameLocation": "3840:8:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2692, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3857:7:13", - "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "3849:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3849:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3848:17:13" - }, - "returnParameters": { - "id": 2696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2695, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "3889:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2694, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3889:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3888:6:13" - }, - "scope": 2803, - "src": "3831:103:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2715, - "nodeType": "Block", - "src": "4073:39:13", - "statements": [ - { - "expression": { - "id": 2713, + "id": 3804, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2711, - "name": "_baseTokenURI", + "id": 3802, + "name": "_metaAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2348, - "src": "4079:13:13", + "referencedDeclaration": 3476, + "src": "3686:12:16", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2712, - "name": "baseTokenURI", + "id": 3803, + "name": "metaAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "4095:12:13", + "referencedDeclaration": 3796, + "src": "3701:11:16", "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "4079:28:13", + "src": "3686:26:16", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 2714, + "id": 3805, "nodeType": "ExpressionStatement", - "src": "4079:28:13" + "src": "3686:26:16" } ] }, "documentation": { - "id": 2703, + "id": 3794, "nodeType": "StructuredDocumentation", - "src": "3938:33:13", + "src": "3550:33:16", "text": " @dev Set token URI" }, - "functionSelector": "931688cb", - "id": 2716, + "functionSelector": "b6a6a93d", + "id": 3807, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2708, + "id": 3799, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "4053:18:13", + "src": "3660:18:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2709, + "id": 3800, "kind": "modifierInvocation", "modifierName": { - "id": 2707, + "id": 3798, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "4044:8:13" + "referencedDeclaration": 38, + "src": "3651:8:16" }, "nodeType": "ModifierInvocation", - "src": "4044:28:13" + "src": "3651:28:16" } ], - "name": "updateBaseURI", - "nameLocation": "3983:13:13", + "name": "updateMetaAddress", + "nameLocation": "3595:17:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2706, + "id": 3797, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2705, + "id": 3796, "mutability": "mutable", - "name": "baseTokenURI", - "nameLocation": "4018:12:13", + "name": "metaAddress", + "nameLocation": "3626:11:16", "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "4002:28:13", + "scope": 3807, + "src": "3618:19:16", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 2704, - "name": "string", + "id": 3795, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4002:6:13", + "src": "3618:7:16", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" } ], - "src": "3996:38:13" + "src": "3612:29:16" }, "returnParameters": { - "id": 2710, + "id": 3801, "nodeType": "ParameterList", "parameters": [], - "src": "4073:0:13" + "src": "3680:0:16" }, - "scope": 2803, - "src": "3974:138:13", + "scope": 3936, + "src": "3586:131:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "baseFunctions": [ - 1557 - ], "body": { - "id": 2744, + "id": 3826, "nodeType": "Block", - "src": "4307:126:13", + "src": "3809:81:16", "statements": [ { "expression": { "arguments": [ { - "id": 2732, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3818, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4321:22:13", - "subExpression": { - "baseExpression": { - "id": 2729, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "4322:12:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 2731, - "indexExpression": { - "id": 2730, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2723, - "src": "4335:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4322:21:13", + "leftExpression": { + "id": 3816, + "name": "valNew", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3809, + "src": "3823:6:16", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3832:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3823:10:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", - "id": 2733, + "hexValue": "62617463682073697a6520746f6f2073686f7274", + "id": 3819, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4345:31:13", + "src": "3835:22:16", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "typeString": "literal_string \"Can not transfer locked token\"" + "typeIdentifier": "t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e", + "typeString": "literal_string \"batch size too short\"" }, - "value": "Can not transfer locked token" + "value": "batch size too short" } ], "expression": { @@ -30199,11 +28644,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "typeString": "literal_string \"Can not transfer locked token\"" + "typeIdentifier": "t_stringliteral_0c7ef4011eb38d0234e0a0f04117f1f32961ef562ac949ed59ca0c63602bf30e", + "typeString": "literal_string \"batch size too short\"" } ], - "id": 2728, + "id": 3815, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30211,13 +28656,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4313:7:13", + "src": "3815:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2734, + "id": 3820, "isConstant": false, "isLValue": false, "isPure": false, @@ -30225,215 +28670,111 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4313:64:13", + "src": "3815:43:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2735, + "id": 3821, "nodeType": "ExpressionStatement", - "src": "4313:64:13" + "src": "3815:43:16" }, { "expression": { - "arguments": [ - { - "id": 2739, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2719, - "src": "4410:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2740, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "4416:2:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2741, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2723, - "src": "4420:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2736, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "4383:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_BEBadge_$2803_$", - "typeString": "type(contract super BEBadge)" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1557, - "src": "4383:26:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2742, + "id": 3824, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4383:45:13", - "tryCall": false, + "leftHandSide": { + "id": 3822, + "name": "maxBatchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3498, + "src": "3864:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3823, + "name": "valNew", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3809, + "src": "3879:6:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3864:21:16", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 2743, + "id": 3825, "nodeType": "ExpressionStatement", - "src": "4383:45:13" + "src": "3864:21:16" } ] }, - "documentation": { - "id": 2717, - "nodeType": "StructuredDocumentation", - "src": "4116:55:13", - "text": " @dev See {IERC165-_beforeTokenTransfer}." - }, - "id": 2745, + "functionSelector": "08f16086", + "id": 3827, "implemented": true, "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "4183:20:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2726, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2725, - "name": "ERC721Enumerable", + "modifiers": [ + { + "arguments": [ + { + "id": 3812, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3789:18:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3813, + "kind": "modifierInvocation", + "modifierName": { + "id": 3811, + "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "4289:16:13" - } - ], - "src": "4280:26:13" - }, + "referencedDeclaration": 38, + "src": "3780:8:16" + }, + "nodeType": "ModifierInvocation", + "src": "3780:28:16" + } + ], + "name": "updateBatchLimit", + "nameLocation": "3730:16:16", + "nodeType": "FunctionDefinition", "parameters": { - "id": 2724, + "id": 3810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2719, + "id": 3809, "mutability": "mutable", - "name": "from", - "nameLocation": "4217:4:13", + "name": "valNew", + "nameLocation": "3760:6:16", "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4209:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4209:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2721, - "mutability": "mutable", - "name": "to", - "nameLocation": "4235:2:13", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4227:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4227:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2723, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "4251:7:13", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4243:15:13", + "scope": 3827, + "src": "3752:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30441,10 +28782,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2722, + "id": 3808, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4243:7:13", + "src": "3752:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30453,215 +28794,28 @@ "visibility": "internal" } ], - "src": "4203:59:13" + "src": "3746:24:16" }, "returnParameters": { - "id": 2727, + "id": 3814, "nodeType": "ParameterList", "parameters": [], - "src": "4307:0:13" + "src": "3809:0:16" }, - "scope": 2803, - "src": "4174:259:13", + "scope": 3936, + "src": "3721:169:16", "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" + "virtual": false, + "visibility": "external" }, { "baseFunctions": [ - 62, - 1431 + 593 ], "body": { - "id": 2761, + "id": 3854, "nodeType": "Block", - "src": "4646:54:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2758, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2748, - "src": "4683:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 2756, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "4659:5:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_BEBadge_$2803_$", - "typeString": "type(contract super BEBadge)" - } - }, - "id": 2757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 1431, - "src": "4659:23:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4659:36:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2755, - "id": 2760, - "nodeType": "Return", - "src": "4652:43:13" - } - ] - }, - "documentation": { - "id": 2746, - "nodeType": "StructuredDocumentation", - "src": "4437:52:13", - "text": " @dev See {IERC165-supportsInterface}." - }, - "functionSelector": "01ffc9a7", - "id": 2762, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "4501:17:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2752, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2750, - "name": "AccessControl", - "nodeType": "IdentifierPath", - "referencedDeclaration": 308, - "src": "4592:13:13" - }, - { - "id": 2751, - "name": "ERC721Enumerable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "4607:16:13" - } - ], - "src": "4583:41:13" - }, - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2748, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "4531:11:13", - "nodeType": "VariableDeclaration", - "scope": 2762, - "src": "4524:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2747, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4524:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "4518:28:13" - }, - "returnParameters": { - "id": 2755, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2754, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2762, - "src": "4638:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4638:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4637:6:13" - }, - "scope": 2803, - "src": "4492:208:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 2801, - "nodeType": "Block", - "src": "4932:251:13", + "src": "4037:143:16", "statements": [ { "expression": { @@ -30669,12 +28823,12 @@ { "arguments": [ { - "id": 2775, + "id": 3838, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "4954:7:13", + "referencedDeclaration": 3830, + "src": "4059:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30688,18 +28842,18 @@ "typeString": "uint256" } ], - "id": 2774, + "id": 3837, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 820, - "src": "4946:7:13", + "referencedDeclaration": 834, + "src": "4051:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2776, + "id": 3839, "isConstant": false, "isLValue": false, "isPure": false, @@ -30707,7 +28861,851 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4946:16:13", + "src": "4051:16:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 3840, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4069:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + }, + "value": "URI query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + } + ], + "id": 3836, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4043:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4043:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3842, + "nodeType": "ExpressionStatement", + "src": "4043:60:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3849, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "4160:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_BEBadge_$3936", + "typeString": "contract BEBadge" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_BEBadge_$3936", + "typeString": "contract BEBadge" + } + ], + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4152:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4152:7:16", + "typeDescriptions": {} + } + }, + "id": 3850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4152:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3851, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3830, + "src": "4167:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3844, + "name": "_metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "4126:12:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3843, + "name": "IMetaData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3461, + "src": "4116:9:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IMetaData_$3461_$", + "typeString": "type(contract IMetaData)" + } + }, + "id": 3845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4116:23:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IMetaData_$3461", + "typeString": "contract IMetaData" + } + }, + "id": 3846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "getMetaData", + "nodeType": "MemberAccess", + "referencedDeclaration": 3460, + "src": "4116:35:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (address,uint256) view external returns (string memory)" + } + }, + "id": 3852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4116:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3835, + "id": 3853, + "nodeType": "Return", + "src": "4109:66:16" + } + ] + }, + "documentation": { + "id": 3828, + "nodeType": "StructuredDocumentation", + "src": "3894:52:16", + "text": " @dev one type badge has same tokenURI" + }, + "functionSelector": "c87b56dd", + "id": 3855, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "3958:8:16", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3832, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4004:8:16" + }, + "parameters": { + "id": 3831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3830, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3980:7:16", + "nodeType": "VariableDeclaration", + "scope": 3855, + "src": "3972:15:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3829, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3972:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3966:25:16" + }, + "returnParameters": { + "id": 3835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3834, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3855, + "src": "4022:13:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3833, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4022:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4021:15:16" + }, + "scope": 3936, + "src": "3949:231:16", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1641 + ], + "body": { + "id": 3877, + "nodeType": "Block", + "src": "4385:72:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3871, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3858, + "src": "4418:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3872, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3860, + "src": "4424:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3873, + "name": "firstTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3862, + "src": "4428:12:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3874, + "name": "batchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3864, + "src": "4442:9:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3868, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4391:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_BEBadge_$3936_$", + "typeString": "type(contract super BEBadge)" + } + }, + "id": 3870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1641, + "src": "4391:26:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 3875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4391:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3876, + "nodeType": "ExpressionStatement", + "src": "4391:61:16" + } + ] + }, + "documentation": { + "id": 3856, + "nodeType": "StructuredDocumentation", + "src": "4184:55:16", + "text": " @dev See {IERC165-_beforeTokenTransfer}." + }, + "id": 3878, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "4251:20:16", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3866, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4376:8:16" + }, + "parameters": { + "id": 3865, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3858, + "mutability": "mutable", + "name": "from", + "nameLocation": "4285:4:16", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "4277:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4277:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3860, + "mutability": "mutable", + "name": "to", + "nameLocation": "4303:2:16", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "4295:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4295:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3862, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "4319:12:16", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "4311:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4311:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3864, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "4345:9:16", + "nodeType": "VariableDeclaration", + "scope": 3878, + "src": "4337:17:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3863, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4337:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4271:87:16" + }, + "returnParameters": { + "id": 3867, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:16" + }, + "scope": 3936, + "src": "4242:215:16", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 60, + 1499 + ], + "body": { + "id": 3894, + "nodeType": "Block", + "src": "4670:54:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3891, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3881, + "src": "4707:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3889, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4683:5:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_BEBadge_$3936_$", + "typeString": "type(contract super BEBadge)" + } + }, + "id": 3890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1499, + "src": "4683:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4683:36:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3888, + "id": 3893, + "nodeType": "Return", + "src": "4676:43:16" + } + ] + }, + "documentation": { + "id": 3879, + "nodeType": "StructuredDocumentation", + "src": "4461:52:16", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 3895, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4525:17:16", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3885, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 3883, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 315, + "src": "4616:13:16" + }, + { + "id": 3884, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1803, + "src": "4631:16:16" + } + ], + "src": "4607:41:16" + }, + "parameters": { + "id": 3882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3881, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4555:11:16", + "nodeType": "VariableDeclaration", + "scope": 3895, + "src": "4548:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3880, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4548:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4542:28:16" + }, + "returnParameters": { + "id": 3888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3887, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3895, + "src": "4662:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3886, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4662:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4661:6:16" + }, + "scope": 3936, + "src": "4516:208:16", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 3934, + "nodeType": "Block", + "src": "4956:251:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3908, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3900, + "src": "4978:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3907, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "4970:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4970:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30716,14 +29714,14 @@ }, { "hexValue": "546f6b656e4964206e6f7420657869737473", - "id": 2777, + "id": 3910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4964:20:13", + "src": "4988:20:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", "typeString": "literal_string \"TokenId not exists\"" @@ -30742,7 +29740,7 @@ "typeString": "literal_string \"TokenId not exists\"" } ], - "id": 2773, + "id": 3906, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30750,13 +29748,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4938:7:13", + "src": "4962:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2778, + "id": 3911, "isConstant": false, "isLValue": false, "isPure": false, @@ -30764,22 +29762,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4938:47:13", + "src": "4962:47:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2779, + "id": 3912, "nodeType": "ExpressionStatement", - "src": "4938:47:13" + "src": "4962:47:16" }, { "expression": { "arguments": [ { - "id": 2784, + "id": 3917, "isConstant": false, "isLValue": false, "isPure": false, @@ -30787,28 +29785,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4999:22:13", + "src": "5023:22:16", "subExpression": { "baseExpression": { - "id": 2781, + "id": 3914, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2345, - "src": "5000:12:13", + "referencedDeclaration": 3474, + "src": "5024:12:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2783, + "id": 3916, "indexExpression": { - "id": 2782, + "id": 3915, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5013:7:13", + "referencedDeclaration": 3900, + "src": "5037:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30819,7 +29817,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5000:21:13", + "src": "5024:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30832,14 +29830,14 @@ }, { "hexValue": "43616e206e6f74206275726e206c6f636b656420746f6b656e", - "id": 2785, + "id": 3918, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5023:27:13", + "src": "5047:27:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", "typeString": "literal_string \"Can not burn locked token\"" @@ -30858,7 +29856,7 @@ "typeString": "literal_string \"Can not burn locked token\"" } ], - "id": 2780, + "id": 3913, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30866,13 +29864,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4991:7:13", + "src": "5015:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2786, + "id": 3919, "isConstant": false, "isLValue": false, "isPure": false, @@ -30880,16 +29878,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4991:60:13", + "src": "5015:60:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2787, + "id": 3920, "nodeType": "ExpressionStatement", - "src": "4991:60:13" + "src": "5015:60:16" }, { "expression": { @@ -30899,7 +29897,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2793, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": false, @@ -30907,12 +29905,12 @@ "leftExpression": { "arguments": [ { - "id": 2790, + "id": 3923, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5080:7:13", + "referencedDeclaration": 3900, + "src": "5104:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30926,18 +29924,18 @@ "typeString": "uint256" } ], - "id": 2789, + "id": 3922, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5072:7:13", + "referencedDeclaration": 534, + "src": "5096:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 2791, + "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, @@ -30945,7 +29943,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5072:16:13", + "src": "5096:16:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -30955,18 +29953,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 2792, + "id": 3925, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "5092:5:13", + "referencedDeclaration": 3898, + "src": "5116:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5072:25:13", + "src": "5096:25:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30974,14 +29972,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206974656d206e6f77", - "id": 2794, + "id": 3927, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5105:47:13", + "src": "5129:47:16", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", "typeString": "literal_string \"current address is not owner of this item now\"" @@ -31000,7 +29998,7 @@ "typeString": "literal_string \"current address is not owner of this item now\"" } ], - "id": 2788, + "id": 3921, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -31008,13 +30006,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5057:7:13", + "src": "5081:7:16", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2795, + "id": 3928, "isConstant": false, "isLValue": false, "isPure": false, @@ -31022,27 +30020,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5057:101:13", + "src": "5081:101:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2796, + "id": 3929, "nodeType": "ExpressionStatement", - "src": "5057:101:13" + "src": "5081:101:16" }, { "expression": { "arguments": [ { - "id": 2798, + "id": 3931, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5170:7:13", + "referencedDeclaration": 3900, + "src": "5194:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31056,18 +30054,18 @@ "typeString": "uint256" } ], - "id": 2797, + "id": 3930, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "5164:5:13", + "referencedDeclaration": 1056, + "src": "5188:5:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2799, + "id": 3932, "isConstant": false, "isLValue": false, "isPure": false, @@ -31075,74 +30073,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5164:14:13", + "src": "5188:14:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2800, + "id": 3933, "nodeType": "ExpressionStatement", - "src": "5164:14:13" + "src": "5188:14:16" } ] }, "documentation": { - "id": 2763, + "id": 3896, "nodeType": "StructuredDocumentation", - "src": "4704:130:13", + "src": "4728:130:16", "text": " @dev Burns `tokenId`.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." }, "functionSelector": "9dc29fac", - "id": 2802, + "id": 3935, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2770, + "id": 3903, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "4921:9:13", + "referencedDeclaration": 3486, + "src": "4945:9:16", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2771, + "id": 3904, "kind": "modifierInvocation", "modifierName": { - "id": 2769, + "id": 3902, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "4912:8:13" + "referencedDeclaration": 38, + "src": "4936:8:16" }, "nodeType": "ModifierInvocation", - "src": "4912:19:13" + "src": "4936:19:16" } ], "name": "burn", - "nameLocation": "4846:4:13", + "nameLocation": "4870:4:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2768, + "id": 3901, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2765, + "id": 3898, "mutability": "mutable", "name": "owner", - "nameLocation": "4864:5:13", + "nameLocation": "4888:5:16", "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "4856:13:13", + "scope": 3935, + "src": "4880:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31150,10 +30148,10 @@ "typeString": "address" }, "typeName": { - "id": 2764, + "id": 3897, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4856:7:13", + "src": "4880:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31164,13 +30162,13 @@ }, { "constant": false, - "id": 2767, + "id": 3900, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4883:7:13", + "nameLocation": "4907:7:16", "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "4875:15:13", + "scope": 3935, + "src": "4899:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31178,10 +30176,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2766, + "id": 3899, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4875:7:13", + "src": "4899:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31190,33 +30188,235 @@ "visibility": "internal" } ], - "src": "4850:44:13" + "src": "4874:44:16" }, "returnParameters": { - "id": 2772, + "id": 3905, "nodeType": "ParameterList", "parameters": [], - "src": "4932:0:13" + "src": "4956:0:16" }, - "scope": 2803, - "src": "4837:346:13", + "scope": 3936, + "src": "4861:346:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" } ], - "scope": 2804, - "src": "195:4990:13", + "scope": 3937, + "src": "236:4973:16", "usedErrors": [] } ], - "src": "32:5154:13" + "src": "32:5178:16" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { + "1338": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + "0x6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd2682431": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + "0x57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf4227": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0xa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b320": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + } + }, + "links": {}, + "address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601", + "transactionHash": "0x4098fd68011ee761134073346f069a3ccd70615a4a70348e8700d059e72392e6" + }, "80001": { "events": { "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { @@ -31418,11 +30618,212 @@ "links": {}, "address": "0x5b36329D0DA1F56eD60F3C5DE1855c8dE0440140", "transactionHash": "0xbbb9aafba195d7dc437c61b5db6d53192519bd94d0e6f01f1d92ed04d35cb164" + }, + "421613": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + "0x6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd2682431": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + "0x57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf4227": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0xa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b320": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + } + }, + "links": {}, + "address": "0xB469331cEC98E52b7Eab07dFB586253bE232BBF7", + "transactionHash": "0xf6948dc6f7474d28f924354d03818b88a1ad89df76ef47e4bb6605f91c90d660" } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-04-23T02:44:39.956Z", - "networkType": "ethereum", + "updatedAt": "2023-07-11T06:11:58.506Z", "devdoc": { "kind": "dev", "methods": { @@ -31448,7 +30849,7 @@ "details": "Add address for lock item" }, "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." }, "hasRole(bytes32,address)": { "details": "Returns `true` if `account` has been granted `role`." @@ -31456,9 +30857,6 @@ "isApprovedForAll(address,address)": { "details": "See {IERC721-isApprovedForAll}." }, - "isLocked(uint256)": { - "details": "Get lock status" - }, "lock(uint256)": { "details": "Lock token to use in game or for rental" }, @@ -31478,10 +30876,10 @@ "details": "Remove mint role to address" }, "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." }, "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." }, "safeTransferFrom(address,address,uint256)": { "details": "See {IERC721-safeTransferFrom}." @@ -31511,7 +30909,7 @@ "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." }, "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." + "details": "one type badge has same tokenURI" }, "totalSupply()": { "details": "See {IERC721Enumerable-totalSupply}." @@ -31522,7 +30920,7 @@ "unlock(uint256)": { "details": "Unlock token to use blockchain or sale on marketplace" }, - "updateBaseURI(string)": { + "updateMetaAddress(address)": { "details": "Set token URI" } }, diff --git a/src/abis/NFT.json b/src/abis/NFT.json new file mode 100644 index 0000000..4ac27de --- /dev/null +++ b/src/abis/NFT.json @@ -0,0 +1,28228 @@ +{ + "contractName": "NFT", + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_supplyLimt", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "LOCK_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedTokens", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "supplyLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "batchMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removeMintRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setLockRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "removeLockRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseTokenURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"BatchMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LOCK_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"batchMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"batchMint(address,uint256[])\":{\"details\":\"Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setLockRole(address)\":{\"details\":\"Add address for lock item\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/NFT.sol\":\"NFT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/tokens/erc721/NFT.sol\":{\"keccak256\":\"0xf794791fc8fcae47f5aa6cffdbe2c86e08eb94d2320fdd10183d6e06fe98add6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4175d356512309fcbb98fcb2536b8f99146d656dc4551619609b51db8509f172\",\"dweb:/ipfs/QmRjdXGGQE89ApxzEa4qGoWsdRCmCg6rt8ESWS5rSkuZt8\"]}},\"version\":1}", + "bytecode": "0x60a06040526040518060600160405280602781526020016200505f60279139600c9080519060200190620000359291906200038e565b503480156200004357600080fd5b506040516200508638038062005086833981810160405281019062000069919062000616565b82828160019080519060200190620000839291906200038e565b5080600290805190602001906200009c9291906200038e565b505050620000d47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b6200019360201b60201c565b620001097fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b6200019360201b60201c565b6200011e6000801b33620001f660201b60201c565b620001507f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001f660201b60201c565b620001827fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75133620001f660201b60201c565b806080818152505050505062000715565b6000620001a6836200020c60201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200020882826200022b60201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200023d82826200031c60201b60201c565b6200031857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002bd6200038660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200039c90620006df565b90600052602060002090601f016020900481019282620003c057600085556200040c565b82601f10620003db57805160ff19168380011785556200040c565b828001600101855582156200040c579182015b828111156200040b578251825591602001919060010190620003ee565b5b5090506200041b91906200041f565b5090565b5b808211156200043a57600081600090555060010162000420565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004a7826200045c565b810181811067ffffffffffffffff82111715620004c957620004c86200046d565b5b80604052505050565b6000620004de6200043e565b9050620004ec82826200049c565b919050565b600067ffffffffffffffff8211156200050f576200050e6200046d565b5b6200051a826200045c565b9050602081019050919050565b60005b83811015620005475780820151818401526020810190506200052a565b8381111562000557576000848401525b50505050565b6000620005746200056e84620004f1565b620004d2565b90508281526020810184848401111562000593576200059262000457565b5b620005a084828562000527565b509392505050565b600082601f830112620005c057620005bf62000452565b5b8151620005d28482602086016200055d565b91505092915050565b6000819050919050565b620005f081620005db565b8114620005fc57600080fd5b50565b6000815190506200061081620005e5565b92915050565b60008060006060848603121562000632576200063162000448565b5b600084015167ffffffffffffffff8111156200065357620006526200044d565b5b6200066186828701620005a8565b935050602084015167ffffffffffffffff8111156200068557620006846200044d565b5b6200069386828701620005a8565b9250506040620006a686828701620005ff565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006f857607f821691505b602082108114156200070f576200070e620006b0565b5b50919050565b6080516149206200073f600039600081816108e501528181610c140152610c3b01526149206000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063530dd07911610125578063a217fddf116100ad578063d53913931161007c578063d53913931461061e578063d547741f1461063c578063dcec329414610658578063dd46706414610688578063e985e9c5146106a457610211565b8063a217fddf14610598578063a22cb465146105b6578063b88d4fde146105d2578063c87b56dd146105ee57610211565b8063786c4ab5116100f4578063786c4ab5146104f657806379deb6e71461051257806391d148541461052e578063931688cb1461055e57806395d89b411461057a57610211565b8063530dd0791461045e5780636198e3391461047a5780636352211e1461049657806370a08231146104c657610211565b8063248a9ca3116101a857806336568abe1161017757806336568abe146103be57806342842e0e146103da57806342966c68146103f65780634684d7e9146104125780634f6ccce71461042e57610211565b8063248a9ca3146103245780632f286b1b146103545780632f2ff15d146103725780632f745c591461038e57610211565b806318160ddd116101e457806318160ddd146102b057806319d1997a146102ce5780631cf4e3ee146102ec57806323b872dd1461030857610211565b806301ffc9a71461021657806306fdde0314610246578063081812fc14610264578063095ea7b314610294575b600080fd5b610230600480360381019061022b91906130a7565b6106d4565b60405161023d91906130ef565b60405180910390f35b61024e6106e6565b60405161025b91906131a3565b60405180910390f35b61027e600480360381019061027991906131fb565b610778565b60405161028b9190613269565b60405180910390f35b6102ae60048036038101906102a991906132b0565b6107be565b005b6102b86108d6565b6040516102c591906132ff565b60405180910390f35b6102d66108e3565b6040516102e391906132ff565b60405180910390f35b6103066004803603810190610301919061331a565b610907565b005b610322600480360381019061031d9190613347565b610934565b005b61033e600480360381019061033991906133d0565b610994565b60405161034b919061340c565b60405180910390f35b61035c6109b3565b604051610369919061340c565b60405180910390f35b61038c60048036038101906103879190613427565b6109d7565b005b6103a860048036038101906103a391906132b0565b6109f8565b6040516103b591906132ff565b60405180910390f35b6103d860048036038101906103d39190613427565b610a9d565b005b6103f460048036038101906103ef9190613347565b610b20565b005b610410600480360381019061040b91906131fb565b610b40565b005b61042c600480360381019061042791906135af565b610b9c565b005b610448600480360381019061044391906131fb565b610d4c565b60405161045591906132ff565b60405180910390f35b6104786004803603810190610473919061331a565b610dbd565b005b610494600480360381019061048f91906131fb565b610dea565b005b6104b060048036038101906104ab91906131fb565b610f19565b6040516104bd9190613269565b60405180910390f35b6104e060048036038101906104db919061331a565b610fa0565b6040516104ed91906132ff565b60405180910390f35b610510600480360381019061050b919061331a565b611058565b005b61052c6004803603810190610527919061331a565b611085565b005b61054860048036038101906105439190613427565b6110b2565b60405161055591906130ef565b60405180910390f35b61057860048036038101906105739190613666565b61111c565b005b610582611140565b60405161058f91906131a3565b60405180910390f35b6105a06111d2565b6040516105ad919061340c565b60405180910390f35b6105d060048036038101906105cb91906136df565b6111d9565b005b6105ec60048036038101906105e791906137d4565b6111ef565b005b610608600480360381019061060391906131fb565b611251565b60405161061591906131a3565b60405180910390f35b6106266112b9565b604051610633919061340c565b60405180910390f35b61065660048036038101906106519190613427565b6112dd565b005b610672600480360381019061066d91906131fb565b6112fe565b60405161067f91906130ef565b60405180910390f35b6106a2600480360381019061069d91906131fb565b61131e565b005b6106be60048036038101906106b99190613857565b61144e565b6040516106cb91906130ef565b60405180910390f35b60006106df826114e2565b9050919050565b6060600180546106f5906138c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610721906138c6565b801561076e5780601f106107435761010080835404028352916020019161076e565b820191906000526020600020905b81548152906001019060200180831161075157829003601f168201915b5050505050905090565b60006107838261155c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107c982610f19565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108319061396a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108596115a7565b73ffffffffffffffffffffffffffffffffffffffff1614806108885750610887816108826115a7565b61144e565b5b6108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be906139fc565b60405180910390fd5b6108d183836115af565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109317f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826112dd565b50565b61094561093f6115a7565b82611668565b610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90613a8e565b60405180910390fd5b61098f8383836116fd565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b6109e082610994565b6109e9816119f7565b6109f38383611a0b565b505050565b6000610a0383610fa0565b8210610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90613b20565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610aa56115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990613bb2565b60405180910390fd5b610b1c8282611aeb565b5050565b610b3b838383604051806020016040528060008152506111ef565b505050565b610b51610b4b6115a7565b82611668565b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790613c1e565b60405180910390fd5b610b9981611bcc565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bc6816119f7565b6000825190506064811115610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790613c8a565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610caf577f000000000000000000000000000000000000000000000000000000000000000081610c636108d6565b610c6d9190613cd9565b1115610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590613d7b565b60405180910390fd5b5b60005b81811015610cf7576000848281518110610ccf57610cce613d9b565b5b60200260200101519050610ce38682611d1a565b508080610cef90613dca565b915050610cb2565b508373ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243184604051610d3e9190613ed1565b60405180910390a250505050565b6000610d566108d6565b8210610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e90613f65565b60405180910390fd5b60098281548110610dab57610daa613d9b565b5b90600052602060002001549050919050565b610de77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109d7565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610e14816119f7565b610e1d82611d38565b610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390613fd1565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb39061403d565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b600080610f2583611d79565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e906140a9565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061413b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110827fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826109d7565b50565b6110af7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826112dd565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b611129816119f7565b8282600c919061113a929190612f98565b50505050565b60606002805461114f906138c6565b80601f016020809104026020016040519081016040528092919081815260200182805461117b906138c6565b80156111c85780601f1061119d576101008083540402835291602001916111c8565b820191906000526020600020905b8154815290600101906020018083116111ab57829003601f168201915b5050505050905090565b6000801b81565b6111eb6111e46115a7565b8383611db6565b5050565b6112006111fa6115a7565b83611668565b61123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690613a8e565b60405180910390fd5b61124b84848484611f23565b50505050565b606061125c8261155c565b6000611266611f7f565b9050600081511161128657604051806020016040528060008152506112b1565b8061129084612011565b6040516020016112a1929190614197565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6112e682610994565b6112ef816119f7565b6112f98383611aeb565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751611348816119f7565b61135182611d38565b611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790613fd1565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890614207565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115555750611554826120e9565b5b9050919050565b61156581611d38565b6115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b906140a9565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661162283610f19565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061167483610f19565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116b657506116b5818561144e565b5b806116f457508373ffffffffffffffffffffffffffffffffffffffff166116dc84610778565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661171d82610f19565b73ffffffffffffffffffffffffffffffffffffffff1614611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90614299565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da9061432b565b60405180910390fd5b6117f083838360016121cb565b8273ffffffffffffffffffffffffffffffffffffffff1661181082610f19565b73ffffffffffffffffffffffffffffffffffffffff1614611866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185d90614299565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119f283838360016121dd565b505050565b611a0881611a036115a7565b6121e3565b50565b611a1582826110b2565b611ae757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a8c6115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611af582826110b2565b15611bc857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b6d6115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bd782610f19565b9050611be78160008460016121cb565b611bf082610f19565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d168160008460016121dd565b5050565b611d34828260405180602001604052806000815250612268565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff16611d5a83611d79565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c90614397565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f1691906130ef565b60405180910390a3505050565b611f2e8484846116fd565b611f3a848484846122c3565b611f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7090614429565b60405180910390fd5b50505050565b6060600c8054611f8e906138c6565b80601f0160208091040260200160405190810160405280929190818152602001828054611fba906138c6565b80156120075780601f10611fdc57610100808354040283529160200191612007565b820191906000526020600020905b815481529060010190602001808311611fea57829003601f168201915b5050505050905090565b6060600060016120208461244b565b01905060008167ffffffffffffffff81111561203f5761203e61346c565b5b6040519080825280601f01601f1916602001820160405280156120715781602001600182028036833780820191505090505b509050600082602001820190505b6001156120de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816120c8576120c7614449565b5b04945060008514156120d9576120de565b61207f565b819350505050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806121b457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121c457506121c38261259e565b5b9050919050565b6121d784848484612618565b50505050565b50505050565b6121ed82826110b2565b612264576121fa81612778565b6122088360001c60206127a5565b604051602001612219929190614510565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225b91906131a3565b60405180910390fd5b5050565b61227283836129e1565b61227f60008484846122c3565b6122be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b590614429565b60405180910390fd5b505050565b60006122e48473ffffffffffffffffffffffffffffffffffffffff16612bff565b1561243e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261230d6115a7565b8786866040518563ffffffff1660e01b815260040161232f949392919061459f565b6020604051808303816000875af192505050801561236b57506040513d601f19601f820116820180604052508101906123689190614600565b60015b6123ee573d806000811461239b576040519150601f19603f3d011682016040523d82523d6000602084013e6123a0565b606091505b506000815114156123e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dd90614429565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612443565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106124a9577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161249f5761249e614449565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106124e6576d04ee2d6d415b85acef810000000083816124dc576124db614449565b5b0492506020810190505b662386f26fc10000831061251557662386f26fc10000838161250b5761250a614449565b5b0492506010810190505b6305f5e100831061253e576305f5e100838161253457612533614449565b5b0492506008810190505b612710831061256357612710838161255957612558614449565b5b0492506004810190505b60648310612586576064838161257c5761257b614449565b5b0492506002810190505b600a8310612595576001810190505b80915050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612611575061261082612c22565b5b9050919050565b61262484848484612c8c565b6001811115612668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265f9061469f565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156126b0576126ab81612c92565b6126ef565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146126ee576126ed8582612cdb565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156127325761272d81612e48565b612771565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146127705761276f8482612f19565b5b5b5050505050565b606061279e8273ffffffffffffffffffffffffffffffffffffffff16601460ff166127a5565b9050919050565b6060600060028360026127b891906146bf565b6127c29190613cd9565b67ffffffffffffffff8111156127db576127da61346c565b5b6040519080825280601f01601f19166020018201604052801561280d5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061284557612844613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128a9576128a8613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026128e991906146bf565b6128f39190613cd9565b90505b6001811115612993577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061293557612934613d9b565b5b1a60f81b82828151811061294c5761294b613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061298c90614719565b90506128f6565b50600084146129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce9061478f565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a48906147fb565b60405180910390fd5b612a5a81611d38565b15612a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9190614867565b60405180910390fd5b612aa86000838360016121cb565b612ab181611d38565b15612af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae890614867565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612bfb6000838360016121dd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612ce884610fa0565b612cf29190614887565b9050600060086000848152602001908152602001600020549050818114612dd7576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612e5c9190614887565b90506000600a6000848152602001908152602001600020549050600060098381548110612e8c57612e8b613d9b565b5b906000526020600020015490508060098381548110612eae57612ead613d9b565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612efd57612efc6148bb565b5b6001900381819060005260206000200160009055905550505050565b6000612f2483610fa0565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b828054612fa4906138c6565b90600052602060002090601f016020900481019282612fc6576000855561300d565b82601f10612fdf57803560ff191683800117855561300d565b8280016001018555821561300d579182015b8281111561300c578235825591602001919060010190612ff1565b5b50905061301a919061301e565b5090565b5b8082111561303757600081600090555060010161301f565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130848161304f565b811461308f57600080fd5b50565b6000813590506130a18161307b565b92915050565b6000602082840312156130bd576130bc613045565b5b60006130cb84828501613092565b91505092915050565b60008115159050919050565b6130e9816130d4565b82525050565b600060208201905061310460008301846130e0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613144578082015181840152602081019050613129565b83811115613153576000848401525b50505050565b6000601f19601f8301169050919050565b60006131758261310a565b61317f8185613115565b935061318f818560208601613126565b61319881613159565b840191505092915050565b600060208201905081810360008301526131bd818461316a565b905092915050565b6000819050919050565b6131d8816131c5565b81146131e357600080fd5b50565b6000813590506131f5816131cf565b92915050565b60006020828403121561321157613210613045565b5b600061321f848285016131e6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061325382613228565b9050919050565b61326381613248565b82525050565b600060208201905061327e600083018461325a565b92915050565b61328d81613248565b811461329857600080fd5b50565b6000813590506132aa81613284565b92915050565b600080604083850312156132c7576132c6613045565b5b60006132d58582860161329b565b92505060206132e6858286016131e6565b9150509250929050565b6132f9816131c5565b82525050565b600060208201905061331460008301846132f0565b92915050565b6000602082840312156133305761332f613045565b5b600061333e8482850161329b565b91505092915050565b6000806000606084860312156133605761335f613045565b5b600061336e8682870161329b565b935050602061337f8682870161329b565b9250506040613390868287016131e6565b9150509250925092565b6000819050919050565b6133ad8161339a565b81146133b857600080fd5b50565b6000813590506133ca816133a4565b92915050565b6000602082840312156133e6576133e5613045565b5b60006133f4848285016133bb565b91505092915050565b6134068161339a565b82525050565b600060208201905061342160008301846133fd565b92915050565b6000806040838503121561343e5761343d613045565b5b600061344c858286016133bb565b925050602061345d8582860161329b565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134a482613159565b810181811067ffffffffffffffff821117156134c3576134c261346c565b5b80604052505050565b60006134d661303b565b90506134e2828261349b565b919050565b600067ffffffffffffffff8211156135025761350161346c565b5b602082029050602081019050919050565b600080fd5b600061352b613526846134e7565b6134cc565b9050808382526020820190506020840283018581111561354e5761354d613513565b5b835b81811015613577578061356388826131e6565b845260208401935050602081019050613550565b5050509392505050565b600082601f83011261359657613595613467565b5b81356135a6848260208601613518565b91505092915050565b600080604083850312156135c6576135c5613045565b5b60006135d48582860161329b565b925050602083013567ffffffffffffffff8111156135f5576135f461304a565b5b61360185828601613581565b9150509250929050565b600080fd5b60008083601f84011261362657613625613467565b5b8235905067ffffffffffffffff8111156136435761364261360b565b5b60208301915083600182028301111561365f5761365e613513565b5b9250929050565b6000806020838503121561367d5761367c613045565b5b600083013567ffffffffffffffff81111561369b5761369a61304a565b5b6136a785828601613610565b92509250509250929050565b6136bc816130d4565b81146136c757600080fd5b50565b6000813590506136d9816136b3565b92915050565b600080604083850312156136f6576136f5613045565b5b60006137048582860161329b565b9250506020613715858286016136ca565b9150509250929050565b600080fd5b600067ffffffffffffffff82111561373f5761373e61346c565b5b61374882613159565b9050602081019050919050565b82818337600083830152505050565b600061377761377284613724565b6134cc565b9050828152602081018484840111156137935761379261371f565b5b61379e848285613755565b509392505050565b600082601f8301126137bb576137ba613467565b5b81356137cb848260208601613764565b91505092915050565b600080600080608085870312156137ee576137ed613045565b5b60006137fc8782880161329b565b945050602061380d8782880161329b565b935050604061381e878288016131e6565b925050606085013567ffffffffffffffff81111561383f5761383e61304a565b5b61384b878288016137a6565b91505092959194509250565b6000806040838503121561386e5761386d613045565b5b600061387c8582860161329b565b925050602061388d8582860161329b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138de57607f821691505b602082108114156138f2576138f1613897565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613954602183613115565b915061395f826138f8565b604082019050919050565b6000602082019050818103600083015261398381613947565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006139e6603d83613115565b91506139f18261398a565b604082019050919050565b60006020820190508181036000830152613a15816139d9565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613a78602d83613115565b9150613a8382613a1c565b604082019050919050565b60006020820190508181036000830152613aa781613a6b565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613b0a602b83613115565b9150613b1582613aae565b604082019050919050565b60006020820190508181036000830152613b3981613afd565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613b9c602f83613115565b9150613ba782613b40565b604082019050919050565b60006020820190508181036000830152613bcb81613b8f565b9050919050565b7f63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b6000613c08602083613115565b9150613c1382613bd2565b602082019050919050565b60006020820190508181036000830152613c3781613bfb565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c74601183613115565b9150613c7f82613c3e565b602082019050919050565b60006020820190508181036000830152613ca381613c67565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ce4826131c5565b9150613cef836131c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d2457613d23613caa565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d65601783613115565b9150613d7082613d2f565b602082019050919050565b60006020820190508181036000830152613d9481613d58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613dd5826131c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613e0857613e07613caa565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e48816131c5565b82525050565b6000613e5a8383613e3f565b60208301905092915050565b6000602082019050919050565b6000613e7e82613e13565b613e888185613e1e565b9350613e9383613e2f565b8060005b83811015613ec4578151613eab8882613e4e565b9750613eb683613e66565b925050600181019050613e97565b5085935050505092915050565b60006020820190508181036000830152613eeb8184613e73565b905092915050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613f4f602c83613115565b9150613f5a82613ef3565b604082019050919050565b60006020820190508181036000830152613f7e81613f42565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613fbb601583613115565b9150613fc682613f85565b602082019050919050565b60006020820190508181036000830152613fea81613fae565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000614027601a83613115565b915061403282613ff1565b602082019050919050565b600060208201905081810360008301526140568161401a565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614093601883613115565b915061409e8261405d565b602082019050919050565b600060208201905081810360008301526140c281614086565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614125602983613115565b9150614130826140c9565b604082019050919050565b6000602082019050818103600083015261415481614118565b9050919050565b600081905092915050565b60006141718261310a565b61417b818561415b565b935061418b818560208601613126565b80840191505092915050565b60006141a38285614166565b91506141af8284614166565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006141f1601883613115565b91506141fc826141bb565b602082019050919050565b60006020820190508181036000830152614220816141e4565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614283602583613115565b915061428e82614227565b604082019050919050565b600060208201905081810360008301526142b281614276565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614315602483613115565b9150614320826142b9565b604082019050919050565b6000602082019050818103600083015261434481614308565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614381601983613115565b915061438c8261434b565b602082019050919050565b600060208201905081810360008301526143b081614374565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614413603283613115565b915061441e826143b7565b604082019050919050565b6000602082019050818103600083015261444281614406565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006144ae60178361415b565b91506144b982614478565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006144fa60118361415b565b9150614505826144c4565b601182019050919050565b600061451b826144a1565b91506145278285614166565b9150614532826144ed565b915061453e8284614166565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b60006145718261454a565b61457b8185614555565b935061458b818560208601613126565b61459481613159565b840191505092915050565b60006080820190506145b4600083018761325a565b6145c1602083018661325a565b6145ce60408301856132f0565b81810360608301526145e08184614566565b905095945050505050565b6000815190506145fa8161307b565b92915050565b60006020828403121561461657614615613045565b5b6000614624848285016145eb565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614689603583613115565b91506146948261462d565b604082019050919050565b600060208201905081810360008301526146b88161467c565b9050919050565b60006146ca826131c5565b91506146d5836131c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561470e5761470d613caa565b5b828202905092915050565b6000614724826131c5565b9150600082141561473857614737613caa565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614779602083613115565b915061478482614743565b602082019050919050565b600060208201905081810360008301526147a88161476c565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006147e5602083613115565b91506147f0826147af565b602082019050919050565b60006020820190508181036000830152614814816147d8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614851601c83613115565b915061485c8261481b565b602082019050919050565b6000602082019050818103600083015261488081614844565b9050919050565b6000614892826131c5565b915061489d836131c5565b9250828210156148b0576148af613caa565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220fbbf6f2b406aeb058b321ae2b346ac5beb6b88586200c62c7593a012f745ed0064736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c8063530dd07911610125578063a217fddf116100ad578063d53913931161007c578063d53913931461061e578063d547741f1461063c578063dcec329414610658578063dd46706414610688578063e985e9c5146106a457610211565b8063a217fddf14610598578063a22cb465146105b6578063b88d4fde146105d2578063c87b56dd146105ee57610211565b8063786c4ab5116100f4578063786c4ab5146104f657806379deb6e71461051257806391d148541461052e578063931688cb1461055e57806395d89b411461057a57610211565b8063530dd0791461045e5780636198e3391461047a5780636352211e1461049657806370a08231146104c657610211565b8063248a9ca3116101a857806336568abe1161017757806336568abe146103be57806342842e0e146103da57806342966c68146103f65780634684d7e9146104125780634f6ccce71461042e57610211565b8063248a9ca3146103245780632f286b1b146103545780632f2ff15d146103725780632f745c591461038e57610211565b806318160ddd116101e457806318160ddd146102b057806319d1997a146102ce5780631cf4e3ee146102ec57806323b872dd1461030857610211565b806301ffc9a71461021657806306fdde0314610246578063081812fc14610264578063095ea7b314610294575b600080fd5b610230600480360381019061022b91906130a7565b6106d4565b60405161023d91906130ef565b60405180910390f35b61024e6106e6565b60405161025b91906131a3565b60405180910390f35b61027e600480360381019061027991906131fb565b610778565b60405161028b9190613269565b60405180910390f35b6102ae60048036038101906102a991906132b0565b6107be565b005b6102b86108d6565b6040516102c591906132ff565b60405180910390f35b6102d66108e3565b6040516102e391906132ff565b60405180910390f35b6103066004803603810190610301919061331a565b610907565b005b610322600480360381019061031d9190613347565b610934565b005b61033e600480360381019061033991906133d0565b610994565b60405161034b919061340c565b60405180910390f35b61035c6109b3565b604051610369919061340c565b60405180910390f35b61038c60048036038101906103879190613427565b6109d7565b005b6103a860048036038101906103a391906132b0565b6109f8565b6040516103b591906132ff565b60405180910390f35b6103d860048036038101906103d39190613427565b610a9d565b005b6103f460048036038101906103ef9190613347565b610b20565b005b610410600480360381019061040b91906131fb565b610b40565b005b61042c600480360381019061042791906135af565b610b9c565b005b610448600480360381019061044391906131fb565b610d4c565b60405161045591906132ff565b60405180910390f35b6104786004803603810190610473919061331a565b610dbd565b005b610494600480360381019061048f91906131fb565b610dea565b005b6104b060048036038101906104ab91906131fb565b610f19565b6040516104bd9190613269565b60405180910390f35b6104e060048036038101906104db919061331a565b610fa0565b6040516104ed91906132ff565b60405180910390f35b610510600480360381019061050b919061331a565b611058565b005b61052c6004803603810190610527919061331a565b611085565b005b61054860048036038101906105439190613427565b6110b2565b60405161055591906130ef565b60405180910390f35b61057860048036038101906105739190613666565b61111c565b005b610582611140565b60405161058f91906131a3565b60405180910390f35b6105a06111d2565b6040516105ad919061340c565b60405180910390f35b6105d060048036038101906105cb91906136df565b6111d9565b005b6105ec60048036038101906105e791906137d4565b6111ef565b005b610608600480360381019061060391906131fb565b611251565b60405161061591906131a3565b60405180910390f35b6106266112b9565b604051610633919061340c565b60405180910390f35b61065660048036038101906106519190613427565b6112dd565b005b610672600480360381019061066d91906131fb565b6112fe565b60405161067f91906130ef565b60405180910390f35b6106a2600480360381019061069d91906131fb565b61131e565b005b6106be60048036038101906106b99190613857565b61144e565b6040516106cb91906130ef565b60405180910390f35b60006106df826114e2565b9050919050565b6060600180546106f5906138c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610721906138c6565b801561076e5780601f106107435761010080835404028352916020019161076e565b820191906000526020600020905b81548152906001019060200180831161075157829003601f168201915b5050505050905090565b60006107838261155c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107c982610f19565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108319061396a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108596115a7565b73ffffffffffffffffffffffffffffffffffffffff1614806108885750610887816108826115a7565b61144e565b5b6108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be906139fc565b60405180910390fd5b6108d183836115af565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109317f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826112dd565b50565b61094561093f6115a7565b82611668565b610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b90613a8e565b60405180910390fd5b61098f8383836116fd565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b6109e082610994565b6109e9816119f7565b6109f38383611a0b565b505050565b6000610a0383610fa0565b8210610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90613b20565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610aa56115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0990613bb2565b60405180910390fd5b610b1c8282611aeb565b5050565b610b3b838383604051806020016040528060008152506111ef565b505050565b610b51610b4b6115a7565b82611668565b610b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8790613c1e565b60405180910390fd5b610b9981611bcc565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bc6816119f7565b6000825190506064811115610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790613c8a565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610caf577f000000000000000000000000000000000000000000000000000000000000000081610c636108d6565b610c6d9190613cd9565b1115610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590613d7b565b60405180910390fd5b5b60005b81811015610cf7576000848281518110610ccf57610cce613d9b565b5b60200260200101519050610ce38682611d1a565b508080610cef90613dca565b915050610cb2565b508373ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243184604051610d3e9190613ed1565b60405180910390a250505050565b6000610d566108d6565b8210610d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8e90613f65565b60405180910390fd5b60098281548110610dab57610daa613d9b565b5b90600052602060002001549050919050565b610de77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109d7565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610e14816119f7565b610e1d82611d38565b610e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5390613fd1565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb39061403d565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b600080610f2583611d79565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8e906140a9565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061413b565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110827fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826109d7565b50565b6110af7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826112dd565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b611129816119f7565b8282600c919061113a929190612f98565b50505050565b60606002805461114f906138c6565b80601f016020809104026020016040519081016040528092919081815260200182805461117b906138c6565b80156111c85780601f1061119d576101008083540402835291602001916111c8565b820191906000526020600020905b8154815290600101906020018083116111ab57829003601f168201915b5050505050905090565b6000801b81565b6111eb6111e46115a7565b8383611db6565b5050565b6112006111fa6115a7565b83611668565b61123f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123690613a8e565b60405180910390fd5b61124b84848484611f23565b50505050565b606061125c8261155c565b6000611266611f7f565b9050600081511161128657604051806020016040528060008152506112b1565b8061129084612011565b6040516020016112a1929190614197565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6112e682610994565b6112ef816119f7565b6112f98383611aeb565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751611348816119f7565b61135182611d38565b611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790613fd1565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890614207565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115555750611554826120e9565b5b9050919050565b61156581611d38565b6115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b906140a9565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661162283610f19565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061167483610f19565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116b657506116b5818561144e565b5b806116f457508373ffffffffffffffffffffffffffffffffffffffff166116dc84610778565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661171d82610f19565b73ffffffffffffffffffffffffffffffffffffffff1614611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90614299565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117da9061432b565b60405180910390fd5b6117f083838360016121cb565b8273ffffffffffffffffffffffffffffffffffffffff1661181082610f19565b73ffffffffffffffffffffffffffffffffffffffff1614611866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185d90614299565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119f283838360016121dd565b505050565b611a0881611a036115a7565b6121e3565b50565b611a1582826110b2565b611ae757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a8c6115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611af582826110b2565b15611bc857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b6d6115a7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bd782610f19565b9050611be78160008460016121cb565b611bf082610f19565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d168160008460016121dd565b5050565b611d34828260405180602001604052806000815250612268565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff16611d5a83611d79565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c90614397565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f1691906130ef565b60405180910390a3505050565b611f2e8484846116fd565b611f3a848484846122c3565b611f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7090614429565b60405180910390fd5b50505050565b6060600c8054611f8e906138c6565b80601f0160208091040260200160405190810160405280929190818152602001828054611fba906138c6565b80156120075780601f10611fdc57610100808354040283529160200191612007565b820191906000526020600020905b815481529060010190602001808311611fea57829003601f168201915b5050505050905090565b6060600060016120208461244b565b01905060008167ffffffffffffffff81111561203f5761203e61346c565b5b6040519080825280601f01601f1916602001820160405280156120715781602001600182028036833780820191505090505b509050600082602001820190505b6001156120de578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816120c8576120c7614449565b5b04945060008514156120d9576120de565b61207f565b819350505050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806121b457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806121c457506121c38261259e565b5b9050919050565b6121d784848484612618565b50505050565b50505050565b6121ed82826110b2565b612264576121fa81612778565b6122088360001c60206127a5565b604051602001612219929190614510565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225b91906131a3565b60405180910390fd5b5050565b61227283836129e1565b61227f60008484846122c3565b6122be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b590614429565b60405180910390fd5b505050565b60006122e48473ffffffffffffffffffffffffffffffffffffffff16612bff565b1561243e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261230d6115a7565b8786866040518563ffffffff1660e01b815260040161232f949392919061459f565b6020604051808303816000875af192505050801561236b57506040513d601f19601f820116820180604052508101906123689190614600565b60015b6123ee573d806000811461239b576040519150601f19603f3d011682016040523d82523d6000602084013e6123a0565b606091505b506000815114156123e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dd90614429565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612443565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106124a9577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161249f5761249e614449565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106124e6576d04ee2d6d415b85acef810000000083816124dc576124db614449565b5b0492506020810190505b662386f26fc10000831061251557662386f26fc10000838161250b5761250a614449565b5b0492506010810190505b6305f5e100831061253e576305f5e100838161253457612533614449565b5b0492506008810190505b612710831061256357612710838161255957612558614449565b5b0492506004810190505b60648310612586576064838161257c5761257b614449565b5b0492506002810190505b600a8310612595576001810190505b80915050919050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612611575061261082612c22565b5b9050919050565b61262484848484612c8c565b6001811115612668576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265f9061469f565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156126b0576126ab81612c92565b6126ef565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146126ee576126ed8582612cdb565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156127325761272d81612e48565b612771565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146127705761276f8482612f19565b5b5b5050505050565b606061279e8273ffffffffffffffffffffffffffffffffffffffff16601460ff166127a5565b9050919050565b6060600060028360026127b891906146bf565b6127c29190613cd9565b67ffffffffffffffff8111156127db576127da61346c565b5b6040519080825280601f01601f19166020018201604052801561280d5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061284557612844613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106128a9576128a8613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026128e991906146bf565b6128f39190613cd9565b90505b6001811115612993577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061293557612934613d9b565b5b1a60f81b82828151811061294c5761294b613d9b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061298c90614719565b90506128f6565b50600084146129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce9061478f565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a48906147fb565b60405180910390fd5b612a5a81611d38565b15612a9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9190614867565b60405180910390fd5b612aa86000838360016121cb565b612ab181611d38565b15612af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae890614867565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612bfb6000838360016121dd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612ce884610fa0565b612cf29190614887565b9050600060086000848152602001908152602001600020549050818114612dd7576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612e5c9190614887565b90506000600a6000848152602001908152602001600020549050600060098381548110612e8c57612e8b613d9b565b5b906000526020600020015490508060098381548110612eae57612ead613d9b565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612efd57612efc6148bb565b5b6001900381819060005260206000200160009055905550505050565b6000612f2483610fa0565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b828054612fa4906138c6565b90600052602060002090601f016020900481019282612fc6576000855561300d565b82601f10612fdf57803560ff191683800117855561300d565b8280016001018555821561300d579182015b8281111561300c578235825591602001919060010190612ff1565b5b50905061301a919061301e565b5090565b5b8082111561303757600081600090555060010161301f565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130848161304f565b811461308f57600080fd5b50565b6000813590506130a18161307b565b92915050565b6000602082840312156130bd576130bc613045565b5b60006130cb84828501613092565b91505092915050565b60008115159050919050565b6130e9816130d4565b82525050565b600060208201905061310460008301846130e0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613144578082015181840152602081019050613129565b83811115613153576000848401525b50505050565b6000601f19601f8301169050919050565b60006131758261310a565b61317f8185613115565b935061318f818560208601613126565b61319881613159565b840191505092915050565b600060208201905081810360008301526131bd818461316a565b905092915050565b6000819050919050565b6131d8816131c5565b81146131e357600080fd5b50565b6000813590506131f5816131cf565b92915050565b60006020828403121561321157613210613045565b5b600061321f848285016131e6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061325382613228565b9050919050565b61326381613248565b82525050565b600060208201905061327e600083018461325a565b92915050565b61328d81613248565b811461329857600080fd5b50565b6000813590506132aa81613284565b92915050565b600080604083850312156132c7576132c6613045565b5b60006132d58582860161329b565b92505060206132e6858286016131e6565b9150509250929050565b6132f9816131c5565b82525050565b600060208201905061331460008301846132f0565b92915050565b6000602082840312156133305761332f613045565b5b600061333e8482850161329b565b91505092915050565b6000806000606084860312156133605761335f613045565b5b600061336e8682870161329b565b935050602061337f8682870161329b565b9250506040613390868287016131e6565b9150509250925092565b6000819050919050565b6133ad8161339a565b81146133b857600080fd5b50565b6000813590506133ca816133a4565b92915050565b6000602082840312156133e6576133e5613045565b5b60006133f4848285016133bb565b91505092915050565b6134068161339a565b82525050565b600060208201905061342160008301846133fd565b92915050565b6000806040838503121561343e5761343d613045565b5b600061344c858286016133bb565b925050602061345d8582860161329b565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134a482613159565b810181811067ffffffffffffffff821117156134c3576134c261346c565b5b80604052505050565b60006134d661303b565b90506134e2828261349b565b919050565b600067ffffffffffffffff8211156135025761350161346c565b5b602082029050602081019050919050565b600080fd5b600061352b613526846134e7565b6134cc565b9050808382526020820190506020840283018581111561354e5761354d613513565b5b835b81811015613577578061356388826131e6565b845260208401935050602081019050613550565b5050509392505050565b600082601f83011261359657613595613467565b5b81356135a6848260208601613518565b91505092915050565b600080604083850312156135c6576135c5613045565b5b60006135d48582860161329b565b925050602083013567ffffffffffffffff8111156135f5576135f461304a565b5b61360185828601613581565b9150509250929050565b600080fd5b60008083601f84011261362657613625613467565b5b8235905067ffffffffffffffff8111156136435761364261360b565b5b60208301915083600182028301111561365f5761365e613513565b5b9250929050565b6000806020838503121561367d5761367c613045565b5b600083013567ffffffffffffffff81111561369b5761369a61304a565b5b6136a785828601613610565b92509250509250929050565b6136bc816130d4565b81146136c757600080fd5b50565b6000813590506136d9816136b3565b92915050565b600080604083850312156136f6576136f5613045565b5b60006137048582860161329b565b9250506020613715858286016136ca565b9150509250929050565b600080fd5b600067ffffffffffffffff82111561373f5761373e61346c565b5b61374882613159565b9050602081019050919050565b82818337600083830152505050565b600061377761377284613724565b6134cc565b9050828152602081018484840111156137935761379261371f565b5b61379e848285613755565b509392505050565b600082601f8301126137bb576137ba613467565b5b81356137cb848260208601613764565b91505092915050565b600080600080608085870312156137ee576137ed613045565b5b60006137fc8782880161329b565b945050602061380d8782880161329b565b935050604061381e878288016131e6565b925050606085013567ffffffffffffffff81111561383f5761383e61304a565b5b61384b878288016137a6565b91505092959194509250565b6000806040838503121561386e5761386d613045565b5b600061387c8582860161329b565b925050602061388d8582860161329b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806138de57607f821691505b602082108114156138f2576138f1613897565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613954602183613115565b915061395f826138f8565b604082019050919050565b6000602082019050818103600083015261398381613947565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006139e6603d83613115565b91506139f18261398a565b604082019050919050565b60006020820190508181036000830152613a15816139d9565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613a78602d83613115565b9150613a8382613a1c565b604082019050919050565b60006020820190508181036000830152613aa781613a6b565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613b0a602b83613115565b9150613b1582613aae565b604082019050919050565b60006020820190508181036000830152613b3981613afd565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613b9c602f83613115565b9150613ba782613b40565b604082019050919050565b60006020820190508181036000830152613bcb81613b8f565b9050919050565b7f63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b6000613c08602083613115565b9150613c1382613bd2565b602082019050919050565b60006020820190508181036000830152613c3781613bfb565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c74601183613115565b9150613c7f82613c3e565b602082019050919050565b60006020820190508181036000830152613ca381613c67565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ce4826131c5565b9150613cef836131c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d2457613d23613caa565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d65601783613115565b9150613d7082613d2f565b602082019050919050565b60006020820190508181036000830152613d9481613d58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613dd5826131c5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613e0857613e07613caa565b5b600182019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e48816131c5565b82525050565b6000613e5a8383613e3f565b60208301905092915050565b6000602082019050919050565b6000613e7e82613e13565b613e888185613e1e565b9350613e9383613e2f565b8060005b83811015613ec4578151613eab8882613e4e565b9750613eb683613e66565b925050600181019050613e97565b5085935050505092915050565b60006020820190508181036000830152613eeb8184613e73565b905092915050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613f4f602c83613115565b9150613f5a82613ef3565b604082019050919050565b60006020820190508181036000830152613f7e81613f42565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613fbb601583613115565b9150613fc682613f85565b602082019050919050565b60006020820190508181036000830152613fea81613fae565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000614027601a83613115565b915061403282613ff1565b602082019050919050565b600060208201905081810360008301526140568161401a565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614093601883613115565b915061409e8261405d565b602082019050919050565b600060208201905081810360008301526140c281614086565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614125602983613115565b9150614130826140c9565b604082019050919050565b6000602082019050818103600083015261415481614118565b9050919050565b600081905092915050565b60006141718261310a565b61417b818561415b565b935061418b818560208601613126565b80840191505092915050565b60006141a38285614166565b91506141af8284614166565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006141f1601883613115565b91506141fc826141bb565b602082019050919050565b60006020820190508181036000830152614220816141e4565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614283602583613115565b915061428e82614227565b604082019050919050565b600060208201905081810360008301526142b281614276565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614315602483613115565b9150614320826142b9565b604082019050919050565b6000602082019050818103600083015261434481614308565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614381601983613115565b915061438c8261434b565b602082019050919050565b600060208201905081810360008301526143b081614374565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614413603283613115565b915061441e826143b7565b604082019050919050565b6000602082019050818103600083015261444281614406565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006144ae60178361415b565b91506144b982614478565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006144fa60118361415b565b9150614505826144c4565b601182019050919050565b600061451b826144a1565b91506145278285614166565b9150614532826144ed565b915061453e8284614166565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b60006145718261454a565b61457b8185614555565b935061458b818560208601613126565b61459481613159565b840191505092915050565b60006080820190506145b4600083018761325a565b6145c1602083018661325a565b6145ce60408301856132f0565b81810360608301526145e08184614566565b905095945050505050565b6000815190506145fa8161307b565b92915050565b60006020828403121561461657614615613045565b5b6000614624848285016145eb565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614689603583613115565b91506146948261462d565b604082019050919050565b600060208201905081810360008301526146b88161467c565b9050919050565b60006146ca826131c5565b91506146d5836131c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561470e5761470d613caa565b5b828202905092915050565b6000614724826131c5565b9150600082141561473857614737613caa565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614779602083613115565b915061478482614743565b602082019050919050565b600060208201905081810360008301526147a88161476c565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006147e5602083613115565b91506147f0826147af565b602082019050919050565b60006020820190508181036000830152614814816147d8565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614851601c83613115565b915061485c8261481b565b602082019050919050565b6000602082019050818103600083015261488081614844565b9050919050565b6000614892826131c5565b915061489d836131c5565b9250828210156148b0576148af613caa565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220fbbf6f2b406aeb058b321ae2b346ac5beb6b88586200c62c7593a012f745ed0064736f6c634300080a0033", + "immutableReferences": { + "3476": [ + { + "length": 32, + "start": 2277 + }, + { + "length": 32, + "start": 3092 + }, + { + "length": 32, + "start": 3131 + } + ] + }, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:4609:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:16", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:16" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:16" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:16", + "type": "" + } + ], + "src": "7:75:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:16" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:16" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "423:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:16" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "546:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:16" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "457:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "628:54:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "638:38:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "656:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "663:2:16", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "652:14:16" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "672:2:16", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "668:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "668:7:16" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "648:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "648:28:16" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "638:6:16" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "611:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "621:6:16", + "type": "" + } + ], + "src": "580:102:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "716:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "733:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "736:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "726:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "726:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "726:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "833:4:16", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "823:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "823:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "823:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "854:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "857:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "847:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "847:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "847:15:16" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "688:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "917:238:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:58:16", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "949:6:16" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "979:4:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "957:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "957:27:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "945:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "945:40:16" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "931:10:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1096:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1098:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "1098:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1098:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1039:10:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1051:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1036:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1036:34:16" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1075:10:16" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1087:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1072:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1072:22:16" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1033:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1033:62:16" + }, + "nodeType": "YulIf", + "src": "1030:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:2:16", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1138:10:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1127:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1127:22:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1127:22:16" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "903:6:16", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "911:4:16", + "type": "" + } + ], + "src": "874:281:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1202:88:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1212:30:16", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1222:18:16" + }, + "nodeType": "YulFunctionCall", + "src": "1222:20:16" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1212:6:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1271:6:16" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1279:4:16" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1251:19:16" + }, + "nodeType": "YulFunctionCall", + "src": "1251:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1251:33:16" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1186:4:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1195:6:16", + "type": "" + } + ], + "src": "1161:129:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:241:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1468:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1470:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "1470:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1470:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1440:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1437:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1437:30:16" + }, + "nodeType": "YulIf", + "src": "1434:56:16" + }, + { + "nodeType": "YulAssignment", + "src": "1500:37:16", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1530:6:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1508:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "1508:29:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1500:4:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1574:23:16", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1586:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1592:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1582:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1582:15:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1574:4:16" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1347:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:16", + "type": "" + } + ], + "src": "1296:308:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1659:258:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1669:10:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1673:1:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1738:63:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1763:3:16" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1768:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1759:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1759:11:16" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1782:3:16" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1787:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1778:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1778:11:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1772:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "1772:18:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1752:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1752:39:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:39:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1699:1:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1702:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1696:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1696:13:16" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1710:19:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1712:15:16", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1721:1:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1717:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1717:10:16" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1712:1:16" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1692:3:16", + "statements": [] + }, + "src": "1688:113:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1835:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1885:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1881:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1881:16:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1874:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1874:27:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1874:27:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1816:1:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1819:6:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1813:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1813:13:16" + }, + "nodeType": "YulIf", + "src": "1810:101:16" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1641:3:16", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1646:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1651:6:16", + "type": "" + } + ], + "src": "1610:307:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2018:326:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2028:75:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2095:6:16" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2053:41:16" + }, + "nodeType": "YulFunctionCall", + "src": "2053:49:16" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2037:15:16" + }, + "nodeType": "YulFunctionCall", + "src": "2037:66:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2028:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2119:5:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2126:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2112:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2112:21:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2112:21:16" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2142:27:16", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2157:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2164:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2153:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2153:16:16" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2146:3:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2207:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2209:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "2209:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2209:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2188:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2193:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2184:16:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2202:3:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2181:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "2181:25:16" + }, + "nodeType": "YulIf", + "src": "2178:112:16" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2321:3:16" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2326:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2331:6:16" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2299:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "2299:39:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:39:16" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1991:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1996:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2004:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2012:5:16", + "type": "" + } + ], + "src": "1923:421:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:282:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2486:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2488:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "2488:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2488:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2465:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2473:4:16", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2461:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2461:17:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2480:3:16" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2457:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2457:27:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2450:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2450:35:16" + }, + "nodeType": "YulIf", + "src": "2447:122:16" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2578:27:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2598:6:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2592:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "2592:13:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2582:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2614:99:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2686:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2682:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2682:17:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2701:6:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2709:3:16" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "2623:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "2623:90:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2614:5:16" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2415:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2423:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2431:5:16", + "type": "" + } + ], + "src": "2364:355:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2770:32:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2780:16:16", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2791:5:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2780:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2752:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2762:7:16", + "type": "" + } + ], + "src": "2725:77:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2851:79:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2908:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2910:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2910:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2910:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2874:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2899:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2881:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "2881:24:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2871:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "2871:35:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2864:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2864:43:16" + }, + "nodeType": "YulIf", + "src": "2861:63:16" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2844:5:16", + "type": "" + } + ], + "src": "2808:122:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2999:80:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3009:22:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3024:6:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3018:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "3018:13:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3009:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3067:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3040:26:16" + }, + "nodeType": "YulFunctionCall", + "src": "3040:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3040:33:16" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2977:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2985:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2993:5:16", + "type": "" + } + ], + "src": "2936:143:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3216:878:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3262:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3264:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "3264:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3264:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3237:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3246:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3233:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3233:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3258:2:16", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3229:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3229:32:16" + }, + "nodeType": "YulIf", + "src": "3226:119:16" + }, + { + "nodeType": "YulBlock", + "src": "3355:291:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3370:38:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3394:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3405:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3390:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3390:17:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3384:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "3384:24:16" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3374:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3455:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3457:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "3457:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3457:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3427:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3435:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3424:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "3424:30:16" + }, + "nodeType": "YulIf", + "src": "3421:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "3552:84:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3608:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3619:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3604:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3604:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3628:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3562:41:16" + }, + "nodeType": "YulFunctionCall", + "src": "3562:74:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3552:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3656:292:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3671:39:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3695:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3706:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3691:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3691:18:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3685:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "3685:25:16" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3675:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3757:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3759:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "3759:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3759:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3729:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3737:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3726:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "3726:30:16" + }, + "nodeType": "YulIf", + "src": "3723:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "3854:84:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3910:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3921:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3906:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3906:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3930:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3864:41:16" + }, + "nodeType": "YulFunctionCall", + "src": "3864:74:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3854:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3958:129:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3973:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3987:2:16", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3977:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4003:74:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4049:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4060:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4045:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4045:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4069:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "4013:31:16" + }, + "nodeType": "YulFunctionCall", + "src": "4013:64:16" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4003:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3170:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3181:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3193:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3201:6:16", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3209:6:16", + "type": "" + } + ], + "src": "3085:1009:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4128:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4145:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4148:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4138:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4138:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4138:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4242:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4245:4:16", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4235:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4235:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4235:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4266:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4269:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4259:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4259:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4259:15:16" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "4100:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4337:269:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4347:22:16", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4361:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4367:1:16", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4357:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4357:12:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4347:6:16" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4378:38:16", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4408:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4414:1:16", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4404:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4404:12:16" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "4382:18:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4455:51:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4469:27:16", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4483:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4491:4:16", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4479:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4479:17:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4469:6:16" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4435:18:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4428:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4428:26:16" + }, + "nodeType": "YulIf", + "src": "4425:81:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4558:42:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4572:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "4572:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4572:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4522:18:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4545:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4553:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4542:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "4542:14:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4519:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "4519:38:16" + }, + "nodeType": "YulIf", + "src": "4516:84:16" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4321:4:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4330:6:16", + "type": "" + } + ], + "src": "4286:320:16" + } + ] + }, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function 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_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n", + "id": 16, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:47126:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:16", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:16" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:16" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:16", + "type": "" + } + ], + "src": "7:75:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:16" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:16" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "403:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "410:66:16", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:16", + "type": "" + } + ], + "src": "334:149:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:16" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:16" + }, + "nodeType": "YulIf", + "src": "541:62:16" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:16", + "type": "" + } + ], + "src": "489:120:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:16" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:16" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:16" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:16", + "type": "" + } + ], + "src": "615:137:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:16" + }, + "nodeType": "YulIf", + "src": "833:119:16" + }, + { + "nodeType": "YulBlock", + "src": "962:116:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:16" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:16", + "type": "" + } + ], + "src": "758:327:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:16", + "type": "" + } + ], + "src": "1091:90:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:16" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:16" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:16" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:16", + "type": "" + } + ], + "src": "1187:109:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:16" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:16" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:16", + "type": "" + } + ], + "src": "1302:210:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:16" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:16", + "type": "" + } + ], + "src": "1518:99:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:16" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:16" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:16" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:16", + "type": "" + } + ], + "src": "1623:169:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:16" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:16" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:16" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:16" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:16" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:16", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:16" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:16" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:16", + "statements": [] + }, + "src": "1876:113:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:16" + }, + "nodeType": "YulIf", + "src": "1998:101:16" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:16", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:16", + "type": "" + } + ], + "src": "1798:307:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:16", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:16" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:16", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:16" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:16" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:16" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:16", + "type": "" + } + ], + "src": "2111:102:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:16" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:16" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:16" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:16" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:16", + "type": "" + } + ], + "src": "2219:364:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:16", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:16" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:16" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2679:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:16", + "type": "" + } + ], + "src": "2589:313:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:32:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:16:16", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2974:5:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2963:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2935:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2945:7:16", + "type": "" + } + ], + "src": "2908:77:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3034:79:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3091:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3100:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3103:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3093:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "3093:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3093:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3057:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3082:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3064:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "3064:24:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3054:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "3054:35:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3047:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "3047:43:16" + }, + "nodeType": "YulIf", + "src": "3044:63:16" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3027:5:16", + "type": "" + } + ], + "src": "2991:122:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3171:87:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3181:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3203:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3190:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "3190:20:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3181:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3246:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3219:26:16" + }, + "nodeType": "YulFunctionCall", + "src": "3219:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3219:33:16" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3149:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3157:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3165:5:16", + "type": "" + } + ], + "src": "3119:139:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3330:263:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3376:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3378:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "3378:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3378:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3351:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3360:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3347:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3347:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3372:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3343:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3343:32:16" + }, + "nodeType": "YulIf", + "src": "3340:119:16" + }, + { + "nodeType": "YulBlock", + "src": "3469:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3484:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3498:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3488:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3513:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3548:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3559:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3544:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3544:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3568:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3523:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "3523:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3513:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3300:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3311:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3323:6:16", + "type": "" + } + ], + "src": "3264:329:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3644:81:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3654:65:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3669:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3676:42:16", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3665:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "3665:54:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3654:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3626:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3636:7:16", + "type": "" + } + ], + "src": "3599:126:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3776:51:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3786:35:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3815:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "3797:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "3797:24:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3786:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3758:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3768:7:16", + "type": "" + } + ], + "src": "3731:96:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3898:53:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3915:3:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3938:5:16" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3920:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "3920:24:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3908:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "3908:37:16" + }, + "nodeType": "YulExpressionStatement", + "src": "3908:37:16" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3886:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3893:3:16", + "type": "" + } + ], + "src": "3833:118:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4055:124:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4065:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4077:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4088:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4073:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4073:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4065:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4145:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4158:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4169:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4154:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4154:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "4101:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "4101:71:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4101:71:16" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4027:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4039:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4050:4:16", + "type": "" + } + ], + "src": "3957:222:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4228:79:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4285:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4294:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4297:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4287:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4287:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4287:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4251:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4276:5:16" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4258:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "4258:24:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4248:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "4248:35:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4241:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "4241:43:16" + }, + "nodeType": "YulIf", + "src": "4238:63:16" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4221:5:16", + "type": "" + } + ], + "src": "4185:122:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4365:87:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4375:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4397:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4384:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "4384:20:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4375:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4440:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "4413:26:16" + }, + "nodeType": "YulFunctionCall", + "src": "4413:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4413:33:16" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4343:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4351:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4359:5:16", + "type": "" + } + ], + "src": "4313:139:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4541:391:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4587:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4589:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "4589:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "4589:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4562:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4571:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4558:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4558:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4583:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4554:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4554:32:16" + }, + "nodeType": "YulIf", + "src": "4551:119:16" + }, + { + "nodeType": "YulBlock", + "src": "4680:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4695:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4709:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4699:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4724:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4759:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4770:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4755:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4755:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4779:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4734:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "4734:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4724:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4807:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4822:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4836:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4826:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4852:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4887:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4898:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4883:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "4883:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4907:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4862:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "4862:53:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4852:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4503:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4514:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4526:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4534:6:16", + "type": "" + } + ], + "src": "4458:474:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5003:53:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5020:3:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5043:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5025:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "5025:24:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5013:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "5013:37:16" + }, + "nodeType": "YulExpressionStatement", + "src": "5013:37:16" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4991:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4998:3:16", + "type": "" + } + ], + "src": "4938:118:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5160:124:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5170:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5182:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5193:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5178:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5178:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5170:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5250:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5263:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5274:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5259:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5259:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "5206:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "5206:71:16" + }, + "nodeType": "YulExpressionStatement", + "src": "5206:71:16" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5132:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5144:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5155:4:16", + "type": "" + } + ], + "src": "5062:222:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5356:263:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5402:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5404:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "5404:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "5404:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5377:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5386:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5373:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5373:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5398:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5369:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5369:32:16" + }, + "nodeType": "YulIf", + "src": "5366:119:16" + }, + { + "nodeType": "YulBlock", + "src": "5495:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5510:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5524:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5514:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5539:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5574:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5585:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5570:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5570:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5594:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5549:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "5549:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5539:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5326:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5337:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5349:6:16", + "type": "" + } + ], + "src": "5290:329:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5725:519:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5771:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5773:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "5773:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "5773:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5746:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5755:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5742:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5742:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5767:2:16", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5738:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5738:32:16" + }, + "nodeType": "YulIf", + "src": "5735:119:16" + }, + { + "nodeType": "YulBlock", + "src": "5864:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5879:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5893:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5883:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5908:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5943:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5954:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5939:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "5939:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5963:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5918:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "5918:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5908:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5991:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6006:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6020:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6010:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6036:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6071:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6082:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6067:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "6067:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6091:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6046:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "6046:53:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6036:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6119:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6134:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6148:2:16", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6138:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6164:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6199:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6210:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6195:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "6195:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6219:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6174:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "6174:53:16" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "6164:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5679:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5690:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5702:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5710:6:16", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5718:6:16", + "type": "" + } + ], + "src": "5625:619:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6295:32:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6305:16:16", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6316:5:16" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6305:7:16" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6277:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6287:7:16", + "type": "" + } + ], + "src": "6250:77:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6376:79:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6433:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6442:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6445:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6435:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "6435:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "6435:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6399:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6424:5:16" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6406:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "6406:24:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6396:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "6396:35:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6389:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "6389:43:16" + }, + "nodeType": "YulIf", + "src": "6386:63:16" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6369:5:16", + "type": "" + } + ], + "src": "6333:122:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6513:87:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6523:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6545:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6532:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "6532:20:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6523:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6588:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6561:26:16" + }, + "nodeType": "YulFunctionCall", + "src": "6561:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "6561:33:16" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6491:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6499:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6507:5:16", + "type": "" + } + ], + "src": "6461:139:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6672:263:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6718:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6720:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "6720:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "6720:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6693:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6702:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6689:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "6689:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6714:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6685:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "6685:32:16" + }, + "nodeType": "YulIf", + "src": "6682:119:16" + }, + { + "nodeType": "YulBlock", + "src": "6811:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6826:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6840:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6830:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6855:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6890:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6901:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6886:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "6886:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6910:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6865:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "6865:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6855:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6642:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6653:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6665:6:16", + "type": "" + } + ], + "src": "6606:329:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7006:53:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7023:3:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7046:5:16" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7028:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "7028:24:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7016:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "7016:37:16" + }, + "nodeType": "YulExpressionStatement", + "src": "7016:37:16" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6994:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7001:3:16", + "type": "" + } + ], + "src": "6941:118:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7163:124:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7173:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7185:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7196:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7181:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7181:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7173:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7253:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7266:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7277:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7262:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7262:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "7209:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "7209:71:16" + }, + "nodeType": "YulExpressionStatement", + "src": "7209:71:16" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7135:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7147:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7158:4:16", + "type": "" + } + ], + "src": "7065:222:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7376:391:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7422:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7424:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "7424:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "7424:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7397:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7406:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7393:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7393:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7418:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7389:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7389:32:16" + }, + "nodeType": "YulIf", + "src": "7386:119:16" + }, + { + "nodeType": "YulBlock", + "src": "7515:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7530:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7544:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7534:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7559:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7594:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7605:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7590:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7590:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7614:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7569:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "7569:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7559:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "7642:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7657:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7671:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7661:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7687:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7722:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7733:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7718:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "7718:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7742:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7697:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "7697:53:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7687:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7338:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7349:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7361:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7369:6:16", + "type": "" + } + ], + "src": "7293:474:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7862:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7879:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7882:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7872:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "7872:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "7872:12:16" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "7773:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7924:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7941:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7944:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7934:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "7934:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "7934:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8038:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8041:4:16", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8031:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "8031:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8031:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8062:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8065:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8055:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "8055:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8055:15:16" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "7896:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8125:238:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8135:58:16", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8157:6:16" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8187:4:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "8165:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "8165:27:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8153:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "8153:40:16" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "8139:10:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8304:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "8306:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "8306:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8306:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8247:10:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8259:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8244:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "8244:34:16" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8283:10:16" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8295:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8280:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "8280:22:16" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "8241:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "8241:62:16" + }, + "nodeType": "YulIf", + "src": "8238:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8342:2:16", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8346:10:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8335:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "8335:22:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8335:22:16" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8111:6:16", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8119:4:16", + "type": "" + } + ], + "src": "8082:281:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8410:88:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8420:30:16", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "8430:18:16" + }, + "nodeType": "YulFunctionCall", + "src": "8430:20:16" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8420:6:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8479:6:16" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8487:4:16" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "8459:19:16" + }, + "nodeType": "YulFunctionCall", + "src": "8459:33:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8459:33:16" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8394:4:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8403:6:16", + "type": "" + } + ], + "src": "8369:129:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8586:229:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8691:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "8693:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "8693:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8693:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8663:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8671:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8660:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "8660:30:16" + }, + "nodeType": "YulIf", + "src": "8657:56:16" + }, + { + "nodeType": "YulAssignment", + "src": "8723:25:16", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8735:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8743:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "8731:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "8731:17:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8723:4:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8785:23:16", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8797:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8803:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8793:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "8793:15:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8785:4:16" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8570:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8581:4:16", + "type": "" + } + ], + "src": "8504:311:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8910:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8927:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8930:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8920:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "8920:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "8920:12:16" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "8821:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9063:608:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9073:90:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9155:6:16" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9098:56:16" + }, + "nodeType": "YulFunctionCall", + "src": "9098:64:16" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "9082:15:16" + }, + "nodeType": "YulFunctionCall", + "src": "9082:81:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9073:5:16" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9172:16:16", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9183:5:16" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "9176:3:16", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9205:5:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9212:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9198:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "9198:21:16" + }, + "nodeType": "YulExpressionStatement", + "src": "9198:21:16" + }, + { + "nodeType": "YulAssignment", + "src": "9228:23:16", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9239:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9246:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9235:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9235:16:16" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9228:3:16" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9261:44:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9279:6:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9291:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9299:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "9287:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9287:17:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9275:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9275:30:16" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "9265:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9333:103:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "9347:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "9347:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "9347:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "9320:6:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9328:3:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9317:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "9317:15:16" + }, + "nodeType": "YulIf", + "src": "9314:122:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9521:144:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9536:21:16", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9554:3:16" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "9540:10:16", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9578:3:16" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "9604:10:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9616:3:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9583:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "9583:37:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9571:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "9571:50:16" + }, + "nodeType": "YulExpressionStatement", + "src": "9571:50:16" + }, + { + "nodeType": "YulAssignment", + "src": "9634:21:16", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9645:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9650:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9641:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9641:14:16" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9634:3:16" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9474:3:16" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "9479:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "9471:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "9471:15:16" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "9487:25:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9489:21:16", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9500:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9505:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9496:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9496:14:16" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9489:3:16" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "9449:21:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9451:17:16", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9462:6:16" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "9455:3:16", + "type": "" + } + ] + } + ] + }, + "src": "9445:220:16" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9033:6:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9041:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9049:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "9057:5:16", + "type": "" + } + ], + "src": "8961:710:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9771:293:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9820:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "9822:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "9822:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "9822:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9799:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9807:4:16", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9795:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9795:17:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9814:3:16" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9791:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "9791:27:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9784:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "9784:35:16" + }, + "nodeType": "YulIf", + "src": "9781:122:16" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9912:34:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9939:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9926:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "9926:20:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9916:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9955:103:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10031:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10039:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10027:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10027:17:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10046:6:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10054:3:16" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9964:62:16" + }, + "nodeType": "YulFunctionCall", + "src": "9964:94:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9955:5:16" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9749:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9757:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "9765:5:16", + "type": "" + } + ], + "src": "9694:370:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10178:576:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10224:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "10226:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "10226:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "10226:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10199:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10208:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10195:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10195:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10220:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10191:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10191:32:16" + }, + "nodeType": "YulIf", + "src": "10188:119:16" + }, + { + "nodeType": "YulBlock", + "src": "10317:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10332:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10346:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10336:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10361:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10396:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10407:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10392:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10392:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10416:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "10371:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "10371:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10361:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10444:303:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10459:46:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10490:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10501:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10486:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10486:18:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10473:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "10473:32:16" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10463:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10552:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10554:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "10554:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "10554:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10524:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10532:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10521:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "10521:30:16" + }, + "nodeType": "YulIf", + "src": "10518:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "10649:88:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10709:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10720:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10705:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10705:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10729:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10659:45:16" + }, + "nodeType": "YulFunctionCall", + "src": "10659:78:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10649:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10140:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10151:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10163:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10171:6:16", + "type": "" + } + ], + "src": "10070:684:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10849:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10866:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10869:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10859:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "10859:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "10859:12:16" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "10760:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10972:478:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11021:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "11023:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "11023:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "11023:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11000:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11008:4:16", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10996:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10996:17:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11015:3:16" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10992:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "10992:27:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10985:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "10985:35:16" + }, + "nodeType": "YulIf", + "src": "10982:122:16" + }, + { + "nodeType": "YulAssignment", + "src": "11113:30:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11136:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11123:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "11123:20:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11113:6:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11186:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "11188:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "11188:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "11188:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11158:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11166:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11155:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "11155:30:16" + }, + "nodeType": "YulIf", + "src": "11152:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "11278:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11294:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11302:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11290:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11290:17:16" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "11278:8:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11361:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "11363:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "11363:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "11363:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "11326:8:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11340:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11348:4:16", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "11336:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11336:17:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11322:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11322:32:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11356:3:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11319:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "11319:41:16" + }, + "nodeType": "YulIf", + "src": "11316:128:16" + } + ] + }, + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10939:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10947:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "10955:8:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10965:6:16", + "type": "" + } + ], + "src": "10897:553:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11542:443:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11588:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "11590:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "11590:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "11590:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11563:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11572:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11559:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11559:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11584:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11555:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11555:32:16" + }, + "nodeType": "YulIf", + "src": "11552:119:16" + }, + { + "nodeType": "YulBlock", + "src": "11681:297:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11696:45:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11727:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11738:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11723:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11723:17:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11710:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "11710:31:16" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11700:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11788:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "11790:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "11790:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "11790:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11760:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11768:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11757:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "11757:30:16" + }, + "nodeType": "YulIf", + "src": "11754:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "11885:83:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11940:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11951:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11936:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "11936:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11960:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "11903:32:16" + }, + "nodeType": "YulFunctionCall", + "src": "11903:65:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11885:6:16" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11893:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11504:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11515:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11527:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11535:6:16", + "type": "" + } + ], + "src": "11456:529:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12031:76:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12085:16:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12094:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12097:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12087:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "12087:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "12087:12:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12054:5:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12076:5:16" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "12061:14:16" + }, + "nodeType": "YulFunctionCall", + "src": "12061:21:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "12051:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "12051:32:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12044:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "12044:40:16" + }, + "nodeType": "YulIf", + "src": "12041:60:16" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12024:5:16", + "type": "" + } + ], + "src": "11991:116:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12162:84:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12172:29:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12194:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12181:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "12181:20:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12172:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12234:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "12210:23:16" + }, + "nodeType": "YulFunctionCall", + "src": "12210:30:16" + }, + "nodeType": "YulExpressionStatement", + "src": "12210:30:16" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12140:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12148:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12156:5:16", + "type": "" + } + ], + "src": "12113:133:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12332:388:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12378:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "12380:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "12380:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "12380:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12353:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12362:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12349:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "12349:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12374:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12345:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "12345:32:16" + }, + "nodeType": "YulIf", + "src": "12342:119:16" + }, + { + "nodeType": "YulBlock", + "src": "12471:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12486:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12500:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12490:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12515:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12550:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12561:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12546:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "12546:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12570:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "12525:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "12525:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12515:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "12598:115:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12613:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12627:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12617:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12643:60:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12675:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12686:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12671:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "12671:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12695:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "12653:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "12653:50:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12643:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12294:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12305:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12317:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12325:6:16", + "type": "" + } + ], + "src": "12252:468:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12815:28:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12832:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12835:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12825:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "12825:12:16" + }, + "nodeType": "YulExpressionStatement", + "src": "12825:12:16" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "12726:117:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12915:241:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13020:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "13022:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "13022:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13022:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12992:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13000:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12989:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "12989:30:16" + }, + "nodeType": "YulIf", + "src": "12986:56:16" + }, + { + "nodeType": "YulAssignment", + "src": "13052:37:16", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13082:6:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "13060:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "13060:29:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13052:4:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13126:23:16", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13138:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13144:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13134:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13134:15:16" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13126:4:16" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12899:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12910:4:16", + "type": "" + } + ], + "src": "12849:307:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13213:103:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13236:3:16" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13241:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13246:6:16" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "13223:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "13223:30:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13223:30:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13294:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13299:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13290:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13290:16:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13308:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13283:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "13283:27:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13283:27:16" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13195:3:16", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13200:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13205:6:16", + "type": "" + } + ], + "src": "13162:154:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13405:327:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13415:74:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13481:6:16" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13440:40:16" + }, + "nodeType": "YulFunctionCall", + "src": "13440:48:16" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "13424:15:16" + }, + "nodeType": "YulFunctionCall", + "src": "13424:65:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13415:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13505:5:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13512:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13498:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "13498:21:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13498:21:16" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13528:27:16", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13543:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13550:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13539:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13539:16:16" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13532:3:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13593:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "13595:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "13595:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13595:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13574:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13579:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13570:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13570:16:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13588:3:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13567:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "13567:25:16" + }, + "nodeType": "YulIf", + "src": "13564:112:16" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13709:3:16" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13714:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13719:6:16" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "13685:23:16" + }, + "nodeType": "YulFunctionCall", + "src": "13685:41:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13685:41:16" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13378:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13383:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13391:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13399:5:16", + "type": "" + } + ], + "src": "13322:410:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13812:277:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13861:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "13863:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "13863:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "13863:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13840:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13848:4:16", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13836:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13836:17:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13855:3:16" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13832:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "13832:27:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13825:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "13825:35:16" + }, + "nodeType": "YulIf", + "src": "13822:122:16" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13953:34:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13980:6:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13967:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "13967:20:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13957:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13996:87:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14056:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14064:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14052:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14052:17:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "14071:6:16" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14079:3:16" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14005:46:16" + }, + "nodeType": "YulFunctionCall", + "src": "14005:78:16" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13996:5:16" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13790:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13798:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13806:5:16", + "type": "" + } + ], + "src": "13751:338:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14221:817:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14268:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "14270:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "14270:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "14270:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14242:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14251:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14238:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14238:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14263:3:16", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14234:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14234:33:16" + }, + "nodeType": "YulIf", + "src": "14231:120:16" + }, + { + "nodeType": "YulBlock", + "src": "14361:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14376:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14390:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14380:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14405:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14440:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14451:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14436:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14436:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14460:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "14415:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "14415:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14405:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14488:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14503:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14517:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14507:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14533:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14568:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14579:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14564:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14564:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14588:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "14543:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "14543:53:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14533:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14616:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14631:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14645:2:16", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14635:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14661:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14696:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14707:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14692:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14692:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14716:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "14671:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "14671:53:16" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "14661:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14744:287:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14759:46:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14790:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14801:2:16", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14786:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14786:18:16" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14773:12:16" + }, + "nodeType": "YulFunctionCall", + "src": "14773:32:16" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14763:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14852:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "14854:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "14854:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "14854:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14824:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14832:18:16", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14821:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "14821:30:16" + }, + "nodeType": "YulIf", + "src": "14818:117:16" + }, + { + "nodeType": "YulAssignment", + "src": "14949:72:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14993:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15004:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14989:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "14989:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15013:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "14959:29:16" + }, + "nodeType": "YulFunctionCall", + "src": "14959:62:16" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "14949:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14167:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14178:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14190:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14198:6:16", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14206:6:16", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14214:6:16", + "type": "" + } + ], + "src": "14095:943:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15127:391:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15173:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "15175:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "15175:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "15175:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15148:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15157:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15144:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15144:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15169:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15140:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15140:32:16" + }, + "nodeType": "YulIf", + "src": "15137:119:16" + }, + { + "nodeType": "YulBlock", + "src": "15266:117:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15281:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15295:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15285:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15310:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15345:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15356:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15341:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15341:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15365:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15320:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "15320:53:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15310:6:16" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "15393:118:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "15408:16:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15422:2:16", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15412:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15438:63:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15473:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15484:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15469:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15469:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15493:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "15448:20:16" + }, + "nodeType": "YulFunctionCall", + "src": "15448:53:16" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15438:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15089:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15100:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15112:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15120:6:16", + "type": "" + } + ], + "src": "15044:474:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15552:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15569:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15572:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15562:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "15562:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "15562:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15666:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15669:4:16", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15659:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "15659:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "15659:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15690:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15693:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15683:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "15683:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "15683:15:16" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "15524:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15761:269:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15771:22:16", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15785:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15791:1:16", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "15781:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15781:12:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15771:6:16" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15802:38:16", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "15832:4:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15838:1:16", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15828:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15828:12:16" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "15806:18:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15879:51:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15893:27:16", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15907:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15915:4:16", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "15903:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "15903:17:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15893:6:16" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "15859:18:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "15852:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "15852:26:16" + }, + "nodeType": "YulIf", + "src": "15849:81:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15982:42:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "15996:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "15996:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "15996:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "15946:18:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15969:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15977:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "15966:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "15966:14:16" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "15943:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "15943:38:16" + }, + "nodeType": "YulIf", + "src": "15940:84:16" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "15745:4:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15754:6:16", + "type": "" + } + ], + "src": "15710:320:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16142:114:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16164:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16172:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16160:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16160:14:16" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16176:34:16", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16153:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "16153:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "16153:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16232:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16240:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16228:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16228:15:16" + }, + { + "hexValue": "72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16245:3:16", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16221:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "16221:28:16" + }, + "nodeType": "YulExpressionStatement", + "src": "16221:28:16" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16134:6:16", + "type": "" + } + ], + "src": "16036:220:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16408:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16418:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16484:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16489:2:16", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16425:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "16425:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16418:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16590:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulIdentifier", + "src": "16501:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "16501:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "16501:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "16603:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16614:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16619:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16610:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16610:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "16603:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16396:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16404:3:16", + "type": "" + } + ], + "src": "16262:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16805:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16815:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16827:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16838:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16823:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16823:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16815:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16862:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16873:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16858:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16858:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16881:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16887:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16877:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "16877:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16851:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "16851:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "16851:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "16907:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17041:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16915:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "16915:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16907:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16785:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16800:4:16", + "type": "" + } + ], + "src": "16634:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17165:142:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17187:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17195:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17183:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17183:14:16" + }, + { + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17199:34:16", + "type": "", + "value": "ERC721: approve caller is not to" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17176:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "17176:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "17176:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17255:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17263:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17251:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17251:15:16" + }, + { + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17268:31:16", + "type": "", + "value": "ken owner or approved for all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17244:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "17244:56:16" + }, + "nodeType": "YulExpressionStatement", + "src": "17244:56:16" + } + ] + }, + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17157:6:16", + "type": "" + } + ], + "src": "17059:248:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17459:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17469:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17535:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17540:2:16", + "type": "", + "value": "61" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17476:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "17476:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17469:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17641:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", + "nodeType": "YulIdentifier", + "src": "17552:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "17552:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "17552:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "17654:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17665:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17670:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17661:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17661:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17654:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17447:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17455:3:16", + "type": "" + } + ], + "src": "17313:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17856:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17866:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17878:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17889:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17874:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17874:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17866:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17913:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17924:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17909:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17909:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17932:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17938:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17928:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "17928:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17902:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "17902:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "17902:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "17958:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18092:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17966:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "17966:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17958:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17836:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17851:4:16", + "type": "" + } + ], + "src": "17685:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18216:126:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18238:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18246:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18234:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18234:14:16" + }, + { + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18250:34:16", + "type": "", + "value": "ERC721: caller is not token owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18227:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "18227:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "18227:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18306:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18314:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18302:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18302:15:16" + }, + { + "hexValue": "72206f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18319:15:16", + "type": "", + "value": "r or approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18295:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "18295:40:16" + }, + "nodeType": "YulExpressionStatement", + "src": "18295:40:16" + } + ] + }, + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18208:6:16", + "type": "" + } + ], + "src": "18110:232:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18494:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18504:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18570:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18575:2:16", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18511:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "18511:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18504:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18676:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", + "nodeType": "YulIdentifier", + "src": "18587:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "18587:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "18587:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "18689:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18700:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18705:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18696:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18696:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18689:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18482:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18490:3:16", + "type": "" + } + ], + "src": "18348:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18891:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18901:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18913:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18924:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18909:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18909:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18901:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18948:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18959:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18944:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18944:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18967:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18973:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18963:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "18963:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18937:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "18937:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "18937:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "18993:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19127:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19001:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "19001:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18993:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18871:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18886:4:16", + "type": "" + } + ], + "src": "18720:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19251:124:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19273:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19281:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19269:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19269:14:16" + }, + { + "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19285:34:16", + "type": "", + "value": "ERC721Enumerable: owner index ou" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19262:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "19262:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "19262:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19341:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19349:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19337:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19337:15:16" + }, + { + "hexValue": "74206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19354:13:16", + "type": "", + "value": "t of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19330:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "19330:38:16" + }, + "nodeType": "YulExpressionStatement", + "src": "19330:38:16" + } + ] + }, + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19243:6:16", + "type": "" + } + ], + "src": "19145:230:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19527:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19537:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19603:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19608:2:16", + "type": "", + "value": "43" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19544:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "19544:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19537:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19709:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", + "nodeType": "YulIdentifier", + "src": "19620:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "19620:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "19620:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "19722:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19733:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19738:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19729:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19729:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19722:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19515:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19523:3:16", + "type": "" + } + ], + "src": "19381:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19924:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19934:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19946:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19957:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19942:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19942:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19934:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19981:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19992:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19977:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19977:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20000:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20006:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19996:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "19996:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19970:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "19970:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "19970:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "20026:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20160:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20034:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "20034:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20026:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19904:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19919:4:16", + "type": "" + } + ], + "src": "19753:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20284:128:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20306:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20314:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20302:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "20302:14:16" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20318:34:16", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20295:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "20295:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "20295:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "20374:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20382:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20370:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "20370:15:16" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20387:17:16", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20363:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "20363:42:16" + }, + "nodeType": "YulExpressionStatement", + "src": "20363:42:16" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "20276:6:16", + "type": "" + } + ], + "src": "20178:234:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20564:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20574:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20640:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20645:2:16", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20581:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "20581:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20574:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20746:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "20657:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "20657:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "20657:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "20759:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20770:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20775:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20766:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "20766:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20759:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20552:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20560:3:16", + "type": "" + } + ], + "src": "20418:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20961:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20971:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20983:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20994:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20979:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "20979:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20971:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21018:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21029:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21014:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21014:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21037:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21043:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21033:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21033:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21007:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "21007:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "21007:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "21063:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21197:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21071:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "21071:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21063:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20941:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20956:4:16", + "type": "" + } + ], + "src": "20790:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21321:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21343:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21351:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21339:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21339:14:16" + }, + { + "hexValue": "63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21355:34:16", + "type": "", + "value": "caller is not owner nor approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21332:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "21332:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "21332:58:16" + } + ] + }, + "name": "store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21313:6:16", + "type": "" + } + ], + "src": "21215:182:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21549:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21559:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21625:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21630:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21566:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "21566:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21559:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21731:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", + "nodeType": "YulIdentifier", + "src": "21642:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "21642:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "21642:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "21744:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21755:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21760:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21751:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21751:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21744:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21537:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21545:3:16", + "type": "" + } + ], + "src": "21403:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21946:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21956:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21968:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21979:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21964:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21964:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21956:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22003:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22014:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21999:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "21999:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22022:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22028:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22018:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22018:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21992:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "21992:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "21992:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "22048:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22182:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22056:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "22056:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22048:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21926:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21941:4:16", + "type": "" + } + ], + "src": "21775:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22306:61:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22328:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22336:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22324:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22324:14:16" + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22340:19:16", + "type": "", + "value": "tokenIds too many" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22317:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "22317:43:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22317:43:16" + } + ] + }, + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22298:6:16", + "type": "" + } + ], + "src": "22200:167:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22519:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22529:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22595:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22600:2:16", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22536:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "22536:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22529:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22701:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulIdentifier", + "src": "22612:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "22612:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22612:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "22714:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22725:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22730:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22721:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22721:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22714:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22507:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22515:3:16", + "type": "" + } + ], + "src": "22373:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22916:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22926:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22938:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22949:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22934:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22934:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22926:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22973:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22984:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22969:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22969:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22992:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22998:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22988:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "22988:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22962:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "22962:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "22962:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "23018:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23152:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23026:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "23026:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23018:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22896:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22911:4:16", + "type": "" + } + ], + "src": "22745:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23198:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23215:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23218:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23208:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23208:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23208:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23312:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23315:4:16", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23305:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23305:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23305:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23336:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23339:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "23329:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23329:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23329:15:16" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "23170:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23400:261:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23410:25:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23433:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "23415:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "23415:20:16" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23410:1:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "23444:25:16", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23467:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "23449:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "23449:20:16" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23444:1:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23607:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "23609:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "23609:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23609:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23528:1:16" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23535:66:16", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23603:1:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23531:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23531:74:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "23525:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "23525:81:16" + }, + "nodeType": "YulIf", + "src": "23522:107:16" + }, + { + "nodeType": "YulAssignment", + "src": "23639:16:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "23650:1:16" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "23653:1:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23646:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23646:9:16" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "23639:3:16" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "23387:1:16", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "23390:1:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "23396:3:16", + "type": "" + } + ], + "src": "23356:305:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23773:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23795:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23803:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23791:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "23791:14:16" + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23807:25:16", + "type": "", + "value": "Exceed the total supply" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23784:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "23784:49:16" + }, + "nodeType": "YulExpressionStatement", + "src": "23784:49:16" + } + ] + }, + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23765:6:16", + "type": "" + } + ], + "src": "23667:173:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23992:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24002:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24068:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24073:2:16", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24009:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "24009:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24002:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24174:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulIdentifier", + "src": "24085:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "24085:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24085:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "24187:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24198:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24203:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24194:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24194:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24187:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23980:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23988:3:16", + "type": "" + } + ], + "src": "23846:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24389:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24399:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24411:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24422:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24407:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24407:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24399:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24446:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24457:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24442:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24442:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24465:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24471:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24461:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "24461:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24435:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24435:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24435:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "24491:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24625:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24499:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "24499:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24491:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24369:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24384:4:16", + "type": "" + } + ], + "src": "24218:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24671:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24688:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24691:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24681:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24681:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24681:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24785:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24788:4:16", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24778:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24778:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24778:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24809:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24812:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24802:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "24802:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "24802:15:16" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "24643:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24872:190:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24882:33:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24909:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "24891:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "24891:24:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24882:5:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25005:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25007:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "25007:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25007:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24930:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24937:66:16", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24927:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "24927:77:16" + }, + "nodeType": "YulIf", + "src": "24924:103:16" + }, + { + "nodeType": "YulAssignment", + "src": "25036:20:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25047:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25054:1:16", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25043:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25043:13:16" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "25036:3:16" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24858:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "24868:3:16", + "type": "" + } + ], + "src": "24829:233:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25142:40:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25153:22:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25169:5:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "25163:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "25163:12:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25153:6:16" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25125:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25135:6:16", + "type": "" + } + ], + "src": "25068:114:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25299:73:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25316:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "25321:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25309:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "25309:19:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25309:19:16" + }, + { + "nodeType": "YulAssignment", + "src": "25337:29:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25356:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25361:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25352:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25352:14:16" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "25337:11:16" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25271:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25276:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "25287:11:16", + "type": "" + } + ], + "src": "25188:184:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25450:60:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25460:11:16", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "25468:3:16" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "25460:4:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25481:22:16", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "25493:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25498:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25489:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25489:14:16" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "25481:4:16" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "25437:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "25445:4:16", + "type": "" + } + ], + "src": "25378:132:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25571:53:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25588:3:16" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25611:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25593:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "25593:24:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25581:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "25581:37:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25581:37:16" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25559:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25566:3:16", + "type": "" + } + ], + "src": "25516:108:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25710:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "25754:6:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25762:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "25720:33:16" + }, + "nodeType": "YulFunctionCall", + "src": "25720:46:16" + }, + "nodeType": "YulExpressionStatement", + "src": "25720:46:16" + }, + { + "nodeType": "YulAssignment", + "src": "25775:28:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25793:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25798:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25789:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25789:14:16" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "25775:10:16" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "25683:6:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25691:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "25699:10:16", + "type": "" + } + ], + "src": "25630:179:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25890:38:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25900:22:16", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "25912:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25917:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25908:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "25908:14:16" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "25900:4:16" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "25877:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "25885:4:16", + "type": "" + } + ], + "src": "25815:113:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26088:608:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26098:68:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26160:5:16" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26112:47:16" + }, + "nodeType": "YulFunctionCall", + "src": "26112:54:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "26102:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26175:93:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26256:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26261:6:16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26182:73:16" + }, + "nodeType": "YulFunctionCall", + "src": "26182:86:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26175:3:16" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "26277:71:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26342:5:16" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26292:49:16" + }, + "nodeType": "YulFunctionCall", + "src": "26292:56:16" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "26281:7:16", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "26357:21:16", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "26371:7:16" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "26361:6:16", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26447:224:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26461:34:16", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26488:6:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "26482:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "26482:13:16" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "26465:13:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26508:70:16", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "26559:13:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26574:3:16" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "26515:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "26515:63:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26508:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26591:70:16", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26654:6:16" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "26601:52:16" + }, + "nodeType": "YulFunctionCall", + "src": "26601:60:16" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "26591:6:16" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26409:1:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "26412:6:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "26406:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "26406:13:16" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "26420:18:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26422:14:16", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26431:1:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26434:1:16", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26427:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26427:9:16" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "26422:1:16" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "26391:14:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "26393:10:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26402:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "26397:1:16", + "type": "" + } + ] + } + ] + }, + "src": "26387:284:16" + }, + { + "nodeType": "YulAssignment", + "src": "26680:10:16", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26687:3:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26680:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26067:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26074:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26083:3:16", + "type": "" + } + ], + "src": "25964:732:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26850:225:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26860:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26872:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26883:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26868:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26868:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26860:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26907:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26918:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26903:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26903:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26926:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26932:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26922:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "26922:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26896:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "26896:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "26896:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "26952:116:16", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "27054:6:16" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27063:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26960:93:16" + }, + "nodeType": "YulFunctionCall", + "src": "26960:108:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26952:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26822:9:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "26834:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26845:4:16", + "type": "" + } + ], + "src": "26702:373:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27187:125:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27209:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27217:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27205:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27205:14:16" + }, + { + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27221:34:16", + "type": "", + "value": "ERC721Enumerable: global index o" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27198:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "27198:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27198:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27277:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27285:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27273:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27273:15:16" + }, + { + "hexValue": "7574206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27290:14:16", + "type": "", + "value": "ut of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27266:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "27266:39:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27266:39:16" + } + ] + }, + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27179:6:16", + "type": "" + } + ], + "src": "27081:231:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27464:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27474:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27540:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27545:2:16", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27481:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "27481:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27474:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27646:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "nodeType": "YulIdentifier", + "src": "27557:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "27557:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27557:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "27659:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27670:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27675:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27666:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27666:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27659:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27452:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27460:3:16", + "type": "" + } + ], + "src": "27318:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27861:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27871:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27883:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27894:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27879:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27879:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27871:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27918:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27929:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27914:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27914:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27937:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27943:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27933:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "27933:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27907:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "27907:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "27907:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "27963:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28097:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27971:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "27971:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27963:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27841:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27856:4:16", + "type": "" + } + ], + "src": "27690:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28221:65:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28243:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28251:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28239:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28239:14:16" + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28255:23:16", + "type": "", + "value": "Must be valid tokenId" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28232:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "28232:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28232:47:16" + } + ] + }, + "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28213:6:16", + "type": "" + } + ], + "src": "28115:171:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28438:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28448:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28514:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28519:2:16", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28455:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "28455:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28448:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28620:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "nodeType": "YulIdentifier", + "src": "28531:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "28531:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28531:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "28633:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28644:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28649:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28640:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28640:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28633:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28426:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28434:3:16", + "type": "" + } + ], + "src": "28292:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28835:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28845:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28857:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28868:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28853:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28853:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28845:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28892:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28903:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28888:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28888:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28911:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28917:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28907:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "28907:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28881:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "28881:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "28881:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "28937:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29071:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28945:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "28945:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28937:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28815:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28830:4:16", + "type": "" + } + ], + "src": "28664:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29195:70:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29217:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29225:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29213:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29213:14:16" + }, + { + "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29229:28:16", + "type": "", + "value": "Token has already unlocked" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29206:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "29206:52:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29206:52:16" + } + ] + }, + "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29187:6:16", + "type": "" + } + ], + "src": "29089:176:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29417:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29427:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29493:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29498:2:16", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29434:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "29434:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29427:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29599:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "nodeType": "YulIdentifier", + "src": "29510:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "29510:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29510:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "29612:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29623:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29628:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29619:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29619:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29612:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "29405:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29413:3:16", + "type": "" + } + ], + "src": "29271:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29814:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29824:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29836:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29847:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29832:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29832:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29824:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29871:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29882:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29867:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29867:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29890:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29896:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29886:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "29886:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29860:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "29860:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "29860:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "29916:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30050:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29924:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "29924:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29916:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29794:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29809:4:16", + "type": "" + } + ], + "src": "29643:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30174:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30196:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30204:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30192:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30192:14:16" + }, + { + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30208:26:16", + "type": "", + "value": "ERC721: invalid token ID" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30185:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "30185:50:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30185:50:16" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30166:6:16", + "type": "" + } + ], + "src": "30068:174:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30394:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30404:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30470:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30475:2:16", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30411:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "30411:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30404:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30576:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "30487:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "30487:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30487:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "30589:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30600:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30605:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30596:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30596:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30589:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30382:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30390:3:16", + "type": "" + } + ], + "src": "30248:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30791:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30801:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30813:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30824:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30809:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30809:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30801:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30848:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30859:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30844:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30844:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30867:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30873:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30863:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "30863:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30837:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "30837:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "30837:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "30893:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31027:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30901:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "30901:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30893:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30771:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30786:4:16", + "type": "" + } + ], + "src": "30620:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31151:122:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31173:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31181:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31169:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31169:14:16" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31185:34:16", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31162:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31162:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31162:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31241:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31249:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31237:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31237:15:16" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31254:11:16", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31230:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31230:36:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31230:36:16" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31143:6:16", + "type": "" + } + ], + "src": "31045:228:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31425:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31435:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31501:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31506:2:16", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31442:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "31442:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31435:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31607:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulIdentifier", + "src": "31518:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "31518:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31518:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "31620:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31631:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31636:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31627:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31627:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31620:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31413:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31421:3:16", + "type": "" + } + ], + "src": "31279:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31822:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31832:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31844:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31855:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31840:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31840:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31832:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31879:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31890:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31875:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31875:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31898:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31904:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31894:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "31894:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31868:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "31868:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "31868:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "31924:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32058:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31932:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "31932:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31924:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31802:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31817:4:16", + "type": "" + } + ], + "src": "31651:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32190:34:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32200:18:16", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32215:3:16" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "32200:11:16" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32162:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32167:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "32178:11:16", + "type": "" + } + ], + "src": "32076:148:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32340:267:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "32350:53:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32397:5:16" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "32364:32:16" + }, + "nodeType": "YulFunctionCall", + "src": "32364:39:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "32354:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32412:96:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32496:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32501:6:16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32419:76:16" + }, + "nodeType": "YulFunctionCall", + "src": "32419:89:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32412:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32543:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32550:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32539:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "32539:16:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32557:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32562:6:16" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "32517:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "32517:52:16" + }, + "nodeType": "YulExpressionStatement", + "src": "32517:52:16" + }, + { + "nodeType": "YulAssignment", + "src": "32578:23:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32589:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "32594:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32585:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "32585:16:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32578:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32321:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32328:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32336:3:16", + "type": "" + } + ], + "src": "32230:377:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32797:251:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32808:102:16", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "32897:6:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32906:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32815:81:16" + }, + "nodeType": "YulFunctionCall", + "src": "32815:95:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32808:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "32920:102:16", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "33009:6:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33018:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "32927:81:16" + }, + "nodeType": "YulFunctionCall", + "src": "32927:95:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32920:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "33032:10:16", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33039:3:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33032:3:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32768:3:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "32774:6:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "32782:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32793:3:16", + "type": "" + } + ], + "src": "32613:435:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33160:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33182:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33190:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33178:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "33178:14:16" + }, + { + "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33194:26:16", + "type": "", + "value": "Token has already locked" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33171:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "33171:50:16" + }, + "nodeType": "YulExpressionStatement", + "src": "33171:50:16" + } + ] + }, + "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33152:6:16", + "type": "" + } + ], + "src": "33054:174:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33380:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33390:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33456:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33461:2:16", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33397:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "33397:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33390:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33562:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "nodeType": "YulIdentifier", + "src": "33473:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "33473:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "33473:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "33575:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33586:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33591:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33582:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "33582:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33575:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33368:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33376:3:16", + "type": "" + } + ], + "src": "33234:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33777:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33787:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33799:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33810:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33795:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "33795:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33787:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33834:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33845:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33830:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "33830:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33853:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33859:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "33849:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "33849:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33823:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "33823:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "33823:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "33879:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34013:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33887:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "33887:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33879:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33757:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33772:4:16", + "type": "" + } + ], + "src": "33606:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34137:118:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34159:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34167:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34155:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34155:14:16" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34171:34:16", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34148:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "34148:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "34148:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34227:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34235:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34223:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34223:15:16" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "34240:7:16", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34216:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "34216:32:16" + }, + "nodeType": "YulExpressionStatement", + "src": "34216:32:16" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34129:6:16", + "type": "" + } + ], + "src": "34031:224:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34407:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34417:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34483:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34488:2:16", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34424:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "34424:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34417:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34589:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulIdentifier", + "src": "34500:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "34500:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "34500:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "34602:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34613:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34618:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34609:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34609:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34602:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34395:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34403:3:16", + "type": "" + } + ], + "src": "34261:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34804:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34814:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34826:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34837:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34822:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34822:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34814:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34861:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34872:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34857:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34857:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34880:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34886:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34876:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "34876:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34850:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "34850:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "34850:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "34906:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35040:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34914:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "34914:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34906:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34784:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34799:4:16", + "type": "" + } + ], + "src": "34633:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35164:117:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35186:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35194:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35182:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35182:14:16" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35198:34:16", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35175:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "35175:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "35175:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35254:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35262:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35250:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35250:15:16" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35267:6:16", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35243:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "35243:31:16" + }, + "nodeType": "YulExpressionStatement", + "src": "35243:31:16" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35156:6:16", + "type": "" + } + ], + "src": "35058:223:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35433:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35443:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35509:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35514:2:16", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35450:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "35450:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35443:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35615:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulIdentifier", + "src": "35526:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "35526:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "35526:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "35628:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35639:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35644:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35635:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35635:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35628:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35421:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35429:3:16", + "type": "" + } + ], + "src": "35287:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35830:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35840:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35852:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35863:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35848:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35848:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35840:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35887:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35898:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35883:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35883:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35906:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35912:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35902:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "35902:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35876:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "35876:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "35876:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "35932:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36066:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35940:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "35940:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35932:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35810:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35825:4:16", + "type": "" + } + ], + "src": "35659:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36190:69:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36212:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36220:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36208:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "36208:14:16" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36224:27:16", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36201:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "36201:51:16" + }, + "nodeType": "YulExpressionStatement", + "src": "36201:51:16" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "36182:6:16", + "type": "" + } + ], + "src": "36084:175:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36411:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36421:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36487:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36492:2:16", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36428:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "36428:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36421:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36593:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "36504:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "36504:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "36504:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "36606:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36617:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36622:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36613:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "36613:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36606:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36399:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "36407:3:16", + "type": "" + } + ], + "src": "36265:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36808:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36818:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36830:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36841:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36826:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "36826:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36818:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36865:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36876:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36861:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "36861:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36884:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36890:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "36880:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "36880:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36854:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "36854:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "36854:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "36910:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37044:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36918:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "36918:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36910:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36788:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36803:4:16", + "type": "" + } + ], + "src": "36637:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37168:131:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37190:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37198:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37186:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37186:14:16" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37202:34:16", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37179:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "37179:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "37179:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37258:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37266:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37254:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37254:15:16" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37271:20:16", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37247:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "37247:45:16" + }, + "nodeType": "YulExpressionStatement", + "src": "37247:45:16" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37160:6:16", + "type": "" + } + ], + "src": "37062:237:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37451:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37461:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37527:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37532:2:16", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37468:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "37468:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37461:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37633:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "37544:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "37544:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "37544:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "37646:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37657:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37662:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37653:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37653:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37646:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37439:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37447:3:16", + "type": "" + } + ], + "src": "37305:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37848:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37858:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37870:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37881:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37866:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37866:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37858:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37905:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37916:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37901:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37901:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37924:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37930:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37920:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "37920:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37894:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "37894:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "37894:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "37950:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38084:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37958:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "37958:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37950:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37828:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37843:4:16", + "type": "" + } + ], + "src": "37677:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38130:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38147:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38150:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38140:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "38140:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38140:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38244:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38247:4:16", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38237:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "38237:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38237:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38268:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38271:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "38261:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "38261:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38261:15:16" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "38102:180:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38394:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38416:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38424:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38412:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "38412:14:16" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38428:25:16", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38405:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "38405:49:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38405:49:16" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38386:6:16", + "type": "" + } + ], + "src": "38288:173:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38631:238:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38641:92:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38725:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38730:2:16", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38648:76:16" + }, + "nodeType": "YulFunctionCall", + "src": "38648:85:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38641:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38831:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "38742:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "38742:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38742:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "38844:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38855:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38860:2:16", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38851:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "38851:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38844:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38619:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38627:3:16", + "type": "" + } + ], + "src": "38467:402:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38981:61:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39003:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39011:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38999:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "38999:14:16" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39015:19:16", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38992:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "38992:43:16" + }, + "nodeType": "YulExpressionStatement", + "src": "38992:43:16" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38973:6:16", + "type": "" + } + ], + "src": "38875:167:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39212:238:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39222:92:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39306:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39311:2:16", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39229:76:16" + }, + "nodeType": "YulFunctionCall", + "src": "39229:85:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39222:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39412:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "39323:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "39323:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "39323:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "39425:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39436:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39441:2:16", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39432:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "39432:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39425:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39200:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39208:3:16", + "type": "" + } + ], + "src": "39048:402:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39842:581:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39853:155:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40004:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39860:142:16" + }, + "nodeType": "YulFunctionCall", + "src": "39860:148:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39853:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40018:102:16", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "40107:6:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40116:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40025:81:16" + }, + "nodeType": "YulFunctionCall", + "src": "40025:95:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40018:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40130:155:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40281:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40137:142:16" + }, + "nodeType": "YulFunctionCall", + "src": "40137:148:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40130:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40295:102:16", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "40384:6:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40393:3:16" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40302:81:16" + }, + "nodeType": "YulFunctionCall", + "src": "40302:95:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40295:3:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40407:10:16", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40414:3:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40407:3:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39813:3:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39819:6:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39827:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39838:3:16", + "type": "" + } + ], + "src": "39456:967:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40487:40:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40498:22:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40514:5:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "40508:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "40508:12:16" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40498:6:16" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40470:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40480:6:16", + "type": "" + } + ], + "src": "40429:98:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40628:73:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40645:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40650:6:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40638:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "40638:19:16" + }, + "nodeType": "YulExpressionStatement", + "src": "40638:19:16" + }, + { + "nodeType": "YulAssignment", + "src": "40666:29:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40685:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40690:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40681:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "40681:14:16" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "40666:11:16" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40600:3:16", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40605:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "40616:11:16", + "type": "" + } + ], + "src": "40533:168:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40797:270:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "40807:52:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40853:5:16" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "40821:31:16" + }, + "nodeType": "YulFunctionCall", + "src": "40821:38:16" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "40811:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "40868:77:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40933:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40938:6:16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40875:57:16" + }, + "nodeType": "YulFunctionCall", + "src": "40875:70:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40868:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "40980:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40987:4:16", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40976:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "40976:16:16" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40994:3:16" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "40999:6:16" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "40954:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "40954:52:16" + }, + "nodeType": "YulExpressionStatement", + "src": "40954:52:16" + }, + { + "nodeType": "YulAssignment", + "src": "41015:46:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41026:3:16" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "41053:6:16" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "41031:21:16" + }, + "nodeType": "YulFunctionCall", + "src": "41031:29:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41022:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41022:39:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41015:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "40778:5:16", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40785:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40793:3:16", + "type": "" + } + ], + "src": "40707:360:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41273:440:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41283:27:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41295:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41306:3:16", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41291:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41291:19:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41283:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "41364:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41377:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41388:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41373:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41373:17:16" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "41320:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "41320:71:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41320:71:16" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "41445:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41458:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41469:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41454:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41454:18:16" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "41401:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "41401:72:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41401:72:16" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "41527:6:16" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41540:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41551:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41536:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41536:18:16" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "41483:43:16" + }, + "nodeType": "YulFunctionCall", + "src": "41483:72:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41483:72:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41576:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41587:2:16", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41572:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41572:18:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41596:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41602:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41592:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41592:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41565:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "41565:48:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41565:48:16" + }, + { + "nodeType": "YulAssignment", + "src": "41622:84:16", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "41692:6:16" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41701:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41630:61:16" + }, + "nodeType": "YulFunctionCall", + "src": "41630:76:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41622:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41221:9:16", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "41233:6:16", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "41241:6:16", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "41249:6:16", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "41257:6:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41268:4:16", + "type": "" + } + ], + "src": "41073:640:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41781:79:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41791:22:16", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "41806:6:16" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "41800:5:16" + }, + "nodeType": "YulFunctionCall", + "src": "41800:13:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41791:5:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "41848:5:16" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "41822:25:16" + }, + "nodeType": "YulFunctionCall", + "src": "41822:32:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41822:32:16" + } + ] + }, + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "41759:6:16", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41767:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "41775:5:16", + "type": "" + } + ], + "src": "41719:141:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41942:273:16", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "41988:83:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "41990:77:16" + }, + "nodeType": "YulFunctionCall", + "src": "41990:79:16" + }, + "nodeType": "YulExpressionStatement", + "src": "41990:79:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "41963:7:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41972:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41959:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41959:23:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41984:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "41955:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "41955:32:16" + }, + "nodeType": "YulIf", + "src": "41952:119:16" + }, + { + "nodeType": "YulBlock", + "src": "42081:127:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "42096:15:16", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42110:1:16", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "42100:6:16", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42125:73:16", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42170:9:16" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "42181:6:16" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42166:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "42166:22:16" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "42190:7:16" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4_fromMemory", + "nodeType": "YulIdentifier", + "src": "42135:30:16" + }, + "nodeType": "YulFunctionCall", + "src": "42135:63:16" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "42125:6:16" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41912:9:16", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "41923:7:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "41935:6:16", + "type": "" + } + ], + "src": "41866:349:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42327:134:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42349:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42357:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42345:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "42345:14:16" + }, + { + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42361:34:16", + "type": "", + "value": "ERC721Enumerable: consecutive tr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42338:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "42338:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "42338:58:16" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42417:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42425:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42413:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "42413:15:16" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42430:23:16", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42406:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "42406:48:16" + }, + "nodeType": "YulExpressionStatement", + "src": "42406:48:16" + } + ] + }, + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "42319:6:16", + "type": "" + } + ], + "src": "42221:240:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42613:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42623:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42689:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42694:2:16", + "type": "", + "value": "53" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42630:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "42630:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42623:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42795:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", + "nodeType": "YulIdentifier", + "src": "42706:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "42706:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "42706:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "42808:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42819:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42824:2:16", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42815:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "42815:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42808:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42601:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42609:3:16", + "type": "" + } + ], + "src": "42467:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43010:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43020:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43032:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43043:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43028:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43028:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43020:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43067:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43078:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43063:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43063:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43086:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43092:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43082:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43082:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43056:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "43056:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "43056:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "43112:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43246:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43120:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "43120:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43112:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42990:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43005:4:16", + "type": "" + } + ], + "src": "42839:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43312:300:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43322:25:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43345:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43327:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "43327:20:16" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43322:1:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43356:25:16", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43379:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43361:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "43361:20:16" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43356:1:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43554:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "43556:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "43556:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "43556:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43466:1:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43459:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "43459:9:16" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43452:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "43452:17:16" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43474:1:16" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43481:66:16", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43549:1:16" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "43477:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43477:74:16" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "43471:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "43471:81:16" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "43448:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43448:105:16" + }, + "nodeType": "YulIf", + "src": "43445:131:16" + }, + { + "nodeType": "YulAssignment", + "src": "43586:20:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43601:1:16" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43604:1:16" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "43597:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43597:9:16" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "43586:7:16" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "43295:1:16", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "43298:1:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "43304:7:16", + "type": "" + } + ], + "src": "43264:348:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43661:128:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43671:33:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43698:5:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43680:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "43680:24:16" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43671:5:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43732:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "43734:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "43734:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "43734:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43719:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43726:4:16", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "43716:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "43716:15:16" + }, + "nodeType": "YulIf", + "src": "43713:41:16" + }, + { + "nodeType": "YulAssignment", + "src": "43763:20:16", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43774:5:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43781:1:16", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43770:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43770:13:16" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "43763:3:16" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "43647:5:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "43657:3:16", + "type": "" + } + ], + "src": "43618:171:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43901:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43923:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43931:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43919:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "43919:14:16" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43935:34:16", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43912:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "43912:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "43912:58:16" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43893:6:16", + "type": "" + } + ], + "src": "43795:182:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44129:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44139:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44205:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44210:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44146:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "44146:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44139:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44311:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "44222:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "44222:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "44222:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "44324:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44335:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44340:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44331:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "44331:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44324:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44117:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44125:3:16", + "type": "" + } + ], + "src": "43983:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44526:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44536:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44548:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44559:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44544:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "44544:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44536:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44583:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44594:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44579:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "44579:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44602:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44608:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44598:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "44598:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44572:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "44572:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "44572:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "44628:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44762:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44636:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "44636:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44628:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44506:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44521:4:16", + "type": "" + } + ], + "src": "44355:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44886:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "44908:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44916:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44904:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "44904:14:16" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44920:34:16", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44897:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "44897:58:16" + }, + "nodeType": "YulExpressionStatement", + "src": "44897:58:16" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44878:6:16", + "type": "" + } + ], + "src": "44780:182:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45114:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45124:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45190:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45195:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45131:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "45131:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45124:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45296:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "45207:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "45207:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "45207:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "45309:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45320:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45325:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45316:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "45316:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "45309:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45102:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45110:3:16", + "type": "" + } + ], + "src": "44968:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45511:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45521:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45533:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45544:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45529:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "45529:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45521:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45568:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45579:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45564:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "45564:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45587:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "45593:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45583:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "45583:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45557:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "45557:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "45557:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "45613:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45747:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "45621:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "45621:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45613:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "45491:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "45506:4:16", + "type": "" + } + ], + "src": "45340:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45871:72:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "45893:6:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45901:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45889:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "45889:14:16" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45905:30:16", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45882:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "45882:54:16" + }, + "nodeType": "YulExpressionStatement", + "src": "45882:54:16" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "45863:6:16", + "type": "" + } + ], + "src": "45765:178:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46095:220:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46105:74:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46171:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46176:2:16", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46112:58:16" + }, + "nodeType": "YulFunctionCall", + "src": "46112:67:16" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46105:3:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46277:3:16" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulIdentifier", + "src": "46188:88:16" + }, + "nodeType": "YulFunctionCall", + "src": "46188:93:16" + }, + "nodeType": "YulExpressionStatement", + "src": "46188:93:16" + }, + { + "nodeType": "YulAssignment", + "src": "46290:19:16", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46301:3:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46306:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46297:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "46297:12:16" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "46290:3:16" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46083:3:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46091:3:16", + "type": "" + } + ], + "src": "45949:366:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46492:248:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46502:26:16", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46514:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46525:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46510:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "46510:18:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46502:4:16" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46549:9:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46560:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46545:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "46545:17:16" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46568:4:16" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46574:9:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46564:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "46564:20:16" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46538:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "46538:47:16" + }, + "nodeType": "YulExpressionStatement", + "src": "46538:47:16" + }, + { + "nodeType": "YulAssignment", + "src": "46594:139:16", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46728:4:16" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46602:124:16" + }, + "nodeType": "YulFunctionCall", + "src": "46602:131:16" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46594:4:16" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46472:9:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46487:4:16", + "type": "" + } + ], + "src": "46321:419:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46791:146:16", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46801:25:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "46824:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "46806:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "46806:20:16" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "46801:1:16" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "46835:25:16", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "46858:1:16" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "46840:17:16" + }, + "nodeType": "YulFunctionCall", + "src": "46840:20:16" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "46835:1:16" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46882:22:16", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "46884:16:16" + }, + "nodeType": "YulFunctionCall", + "src": "46884:18:16" + }, + "nodeType": "YulExpressionStatement", + "src": "46884:18:16" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "46876:1:16" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "46879:1:16" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "46873:2:16" + }, + "nodeType": "YulFunctionCall", + "src": "46873:8:16" + }, + "nodeType": "YulIf", + "src": "46870:34:16" + }, + { + "nodeType": "YulAssignment", + "src": "46914:17:16", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "46926:1:16" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "46929:1:16" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46922:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "46922:9:16" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "46914:4:16" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "46777:1:16", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "46780:1:16", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "46786:4:16", + "type": "" + } + ], + "src": "46746:191:16" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46971:152:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46988:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46991:77:16", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46981:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "46981:88:16" + }, + "nodeType": "YulExpressionStatement", + "src": "46981:88:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47085:1:16", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47088:4:16", + "type": "", + "value": "0x31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "47078:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "47078:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "47078:15:16" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47109:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47112:4:16", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "47102:6:16" + }, + "nodeType": "YulFunctionCall", + "src": "47102:15:16" + }, + "nodeType": "YulExpressionStatement", + "src": "47102:15:16" + } + ] + }, + "name": "panic_error_0x31", + "nodeType": "YulFunctionDefinition", + "src": "46943:180:16" + } + ] + }, + "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_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(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_bytes4(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 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(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 if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(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_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_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 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 abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function 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 abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_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_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(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_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_bytes32t_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_bytes32(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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\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_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr(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 := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_uint256_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(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_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function array_allocation_size_t_bytes_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(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_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(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_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_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__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_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__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_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__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_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__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_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad(memPtr) {\n\n mstore(add(memPtr, 0), \"caller is not owner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad__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_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too many\")\n\n }\n\n function abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__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_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack( tail)\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\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be valid tokenId\")\n\n }\n\n function abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already unlocked\")\n\n }\n\n function abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__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_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__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_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__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_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already locked\")\n\n }\n\n function abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__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_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__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_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__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_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(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_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__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_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__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_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__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_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", + "id": 16, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "195:3812:15:-:0;;;295:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;680:383;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;780:5;787:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;802:46:15::1;409:24;2198:4:0;829:18:15::0;::::1;802:13;;;:46;;:::i;:::-;854:44;473:22;2198:4:0;879:18:15::0;::::1;854:13;;;:44;;:::i;:::-;905:42;2198:4:0;916:18:15::0;::::1;936:10;905;;;:42;;:::i;:::-;953:35;409:24;977:10;953;;;:35;;:::i;:::-;994:33;473:22;1016:10;994;;;:33;;:::i;:::-;1047:11;1033:25;;;;::::0;::::1;680:383:::0;;;195:3812;;7172:247:0;7255:25;7283:18;7296:4;7283:12;;;:18;;:::i;:::-;7255:46;;7336:9;7311:6;:12;7318:4;7311:12;;;;;;;;;;;:22;;:34;;;;7402:9;7383:17;7377:4;7360:52;;;;;;;;;;7245:174;7172:247;;:::o;6937:110::-;7015:25;7026:4;7032:7;7015:10;;;:25;;:::i;:::-;6937:110;;:::o;4504:129::-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;;;:22;;:::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;;;:12;;:::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;3021:145::-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;195:3812:15:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:16:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;195:3812:15:-;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "195:3812:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3610:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;499:36:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2108:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4504:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;437:58:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4929:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6038:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3822:183:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1443:479;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1813:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1975:79:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2846:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2243:77:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2375:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3021:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3136:138:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2633:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2153:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2801;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;371:62:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5354:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;247:44:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2522:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4388:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3610:208:15;3756:4;3777:36;3801:11;3777:23;:36::i;:::-;3770:43;;3610:208;;;:::o;2471:98:2:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;1630:111:5:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;499:36:15:-;;;:::o;2108:83::-;2159:27;409:24;2183:2;2159:10;:27::i;:::-;2108:83;:::o;4612:296:2:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4504:129:0:-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;437:58:15:-;473:22;437:58;:::o;4929:145:0:-;5012:18;5025:4;5012:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;6038:214:0:-;6144:12;:10;:12::i;:::-;6133:23;;:7;:23;;;6125:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;4974:149:2:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;3822:183:15:-;3891:41;3910:12;:10;:12::i;:::-;3924:7;3891:18;:41::i;:::-;3876:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;3986:14;3992:7;3986:5;:14::i;:::-;3822:183;:::o;1443:479::-;409:24;2631:16:0;2642:4;2631:10;:16::i;:::-;1550:13:15::1;1566:8;:15;1550:31;;1604:3;1595:5;:12;;1587:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1653:1;1639:11;:15;1635:134;;;1708:11;1698:5;1682:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1681:38;;1664:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1635:134;1779:9;1774:110;1798:5;1794:1;:9;1774:110;;;1818:15;1836:8;1845:1;1836:11;;;;;;;;:::i;:::-;;;;;;;;1818:29;;1855:22;1865:2;1869:7;1855:9;:22::i;:::-;1810:74;1805:3;;;;;:::i;:::-;;;;1774:110;;;;1904:2;1894:23;;;1908:8;1894:23;;;;;;:::i;:::-;;;;;;;;1544:378;1443:479:::0;;;:::o;1813:230:5:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;1975:79:15:-;2023:26;409:24;2046:2;2023:9;:26::i;:::-;1975:79;:::o;2846:250::-;473:22;2631:16:0;2642:4;2631:10;:16::i;:::-;2922::15::1;2930:7;2922;:16::i;:::-;2914:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2978:12;:21;2991:7;2978:21;;;;;;;;;;;;;;;;;;;;;2970:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3060:5;3036:12;:21;3049:7;3036:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3083:7;3076:15;;;;;;;;;;2846:250:::0;;:::o;2190:219:2:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;1929:204::-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;2243:77:15:-;2291:24;473:22;2312:2;2291:9;:24::i;:::-;2243:77;:::o;2375:81::-;2426:25;473:22;2448:2;2426:10;:25::i;:::-;2375:81;:::o;3021:145:0:-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;3136:138:15:-;2198:4:0;3215:18:15;;2631:16:0;2642:4;2631:10;:16::i;:::-;3257:12:15::1;;3241:13;:28;;;;;;;:::i;:::-;;3136:138:::0;;;:::o;2633:102:2:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;2153:49:0:-;2198:4;2153:49;;;:::o;4169:153:2:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;:8;:10::i;:::-;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;;;2801:276;;;:::o;371:62:15:-;409:24;371:62;:::o;5354:147:0:-;5438:18;5451:4;5438:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;:::-;5354:147:::0;;;:::o;247:44:15:-;;;;;;;;;;;;;;;;;;;;;;:::o;2522:244::-;473:22;2631:16:0;2642:4;2631:10;:16::i;:::-;2596::15::1;2604:7;2596;:16::i;:::-;2588:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;2653:12;:21;2666:7;2653:21;;;;;;;;;;;;;;;;;;;;;2652:22;2644:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2733:4;2709:12;:21;2722:7;2709:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;2753:7;2748:13;;;;;;;;;;2522:244:::0;;:::o;4388:162:2:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;1005:222:5:-;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;13240:133:2:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;12572:171:2:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;3460:103:0:-;3526:30;3537:4;3543:12;:10;:12::i;:::-;3526:10;:30::i;:::-;3460:103;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;:12::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:6;:12;8119:4;8112:12;;;;;;;;;;;:20;;:29;8133:7;8112:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8195:12;:10;:12::i;:::-;8168:40;;8186:7;8168:40;;8180:4;8168:40;;;;;;;;;;8070:149;7991:234;;:::o;10171:762:2:-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10280:51;10301:5;10316:1;10320:7;10329:1;10280:20;:51::i;:::-;10441:23;10456:7;10441:14;:23::i;:::-;10433:31;;10509:15;:24;10525:7;10509:24;;;;;;;;;;;;10502:31;;;;;;;;;;;10769:1;10749:9;:16;10759:5;10749:16;;;;;;;;;;;;;;;;:21;;;;;;;;;;;10797:7;:16;10805:7;10797:16;;;;;;;;;;;;10790:23;;;;;;;;;;;10857:7;10853:1;10829:36;;10838:5;10829:36;;;;;;;;;;;;10876:50;10896:5;10911:1;10915:7;10924:1;10876:19;:50::i;:::-;10220:713;10171:762;:::o;7995:108::-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;1067:106:15:-;1127:13;1155;1148:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1067:106;:::o;447:696:10:-;503:13;552:14;589:1;569:17;580:5;569:10;:17::i;:::-;:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:41;;659:11;785:6;781:2;777:15;769:6;765:28;758:35;;820:280;827:4;820:280;;;851:5;;;;;;;;990:8;985:2;978:5;974:14;969:30;964:3;956:44;1044:2;1035:11;;;;;;:::i;:::-;;;;;1077:1;1068:5;:10;1064:21;;;1080:5;;1064:21;820:280;;;1120:6;1113:13;;;;;447:696;;;:::o;1570:300:2:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;3336:215:15:-;3485:61;3512:4;3518:2;3522:12;3536:9;3485:26;:61::i;:::-;3336:215;;;;:::o;16294:115:2:-;;;;;:::o;3844:479:0:-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4234:13;;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3970:336;;;;;;;;;;;:::i;:::-;;;;;;;;3927:390;3844:479;;:::o;8324:279:2:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;10139:916:13:-;10192:7;10211:14;10228:1;10211:18;;10276:8;10267:5;:17;10263:103;;10313:8;10304:17;;;;;;:::i;:::-;;;;;10349:2;10339:12;;;;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;;;;:::i;:::-;;;;;10465:2;10455:12;;;;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;;;;:::i;:::-;;;;;10581:2;10571:12;;;;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;;;;:::i;:::-;;;;;10695:1;10685:11;;;;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;;;;:::i;:::-;;;;;10808:1;10798:11;;;;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;;;;:::i;:::-;;;;;10921:1;10911:11;;;;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;;;;10950:66;11042:6;11035:13;;;10139:916;;;:::o;2732:202:0:-;2817:4;2855:32;2840:47;;;:11;:47;;;;:87;;;;2891:36;2915:11;2891:23;:36::i;:::-;2840:87;2833:94;;2732:202;;;:::o;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;2407:149:10:-;2465:13;2497:52;2525:4;2509:22;;343:2;2497:52;;:11;:52::i;:::-;2490:59;;2407:149;;;:::o;1818:437::-;1893:13;1918:19;1963:1;1954:6;1950:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2030:9;2055:1;2046:6;2042:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2113:3;2105:5;:11;2096:21;;;;;;;:::i;:::-;;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;2141:1;2131:11;;;;;2065:3;;;;:::i;:::-;;;2025:128;;;;2179:1;2170:5;:10;2162:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2241:6;2227:21;;;1818:437;;;;:::o;8925:920:2:-;9018:1;9004:16;;:2;:16;;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;1412:320:8:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;829:155:11:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;15472:116:2:-;;;;;:::o;3708:161:5:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:16:-;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:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:117::-;7882:1;7879;7872:12;7896:180;7944:77;7941:1;7934:88;8041:4;8038:1;8031:15;8065:4;8062:1;8055:15;8082:281;8165:27;8187:4;8165:27;:::i;:::-;8157:6;8153:40;8295:6;8283:10;8280:22;8259:18;8247:10;8244:34;8241:62;8238:88;;;8306:18;;:::i;:::-;8238:88;8346:10;8342:2;8335:22;8125:238;8082:281;;:::o;8369:129::-;8403:6;8430:20;;:::i;:::-;8420:30;;8459:33;8487:4;8479:6;8459:33;:::i;:::-;8369:129;;;:::o;8504:311::-;8581:4;8671:18;8663:6;8660:30;8657:56;;;8693:18;;:::i;:::-;8657:56;8743:4;8735:6;8731:17;8723:25;;8803:4;8797;8793:15;8785:23;;8504:311;;;:::o;8821:117::-;8930:1;8927;8920:12;8961:710;9057:5;9082:81;9098:64;9155:6;9098:64;:::i;:::-;9082:81;:::i;:::-;9073:90;;9183:5;9212:6;9205:5;9198:21;9246:4;9239:5;9235:16;9228:23;;9299:4;9291:6;9287:17;9279:6;9275:30;9328:3;9320:6;9317:15;9314:122;;;9347:79;;:::i;:::-;9314:122;9462:6;9445:220;9479:6;9474:3;9471:15;9445:220;;;9554:3;9583:37;9616:3;9604:10;9583:37;:::i;:::-;9578:3;9571:50;9650:4;9645:3;9641:14;9634:21;;9521:144;9505:4;9500:3;9496:14;9489:21;;9445:220;;;9449:21;9063:608;;8961:710;;;;;:::o;9694:370::-;9765:5;9814:3;9807:4;9799:6;9795:17;9791:27;9781:122;;9822:79;;:::i;:::-;9781:122;9939:6;9926:20;9964:94;10054:3;10046:6;10039:4;10031:6;10027:17;9964:94;:::i;:::-;9955:103;;9771:293;9694:370;;;;:::o;10070:684::-;10163:6;10171;10220:2;10208:9;10199:7;10195:23;10191:32;10188:119;;;10226:79;;:::i;:::-;10188:119;10346:1;10371:53;10416:7;10407:6;10396:9;10392:22;10371:53;:::i;:::-;10361:63;;10317:117;10501:2;10490:9;10486:18;10473:32;10532:18;10524:6;10521:30;10518:117;;;10554:79;;:::i;:::-;10518:117;10659:78;10729:7;10720:6;10709:9;10705:22;10659:78;:::i;:::-;10649:88;;10444:303;10070:684;;;;;:::o;10760:117::-;10869:1;10866;10859:12;10897:553;10955:8;10965:6;11015:3;11008:4;11000:6;10996:17;10992:27;10982:122;;11023:79;;:::i;:::-;10982:122;11136:6;11123:20;11113:30;;11166:18;11158:6;11155:30;11152:117;;;11188:79;;:::i;:::-;11152:117;11302:4;11294:6;11290:17;11278:29;;11356:3;11348:4;11340:6;11336:17;11326:8;11322:32;11319:41;11316:128;;;11363:79;;:::i;:::-;11316:128;10897:553;;;;;:::o;11456:529::-;11527:6;11535;11584:2;11572:9;11563:7;11559:23;11555:32;11552:119;;;11590:79;;:::i;:::-;11552:119;11738:1;11727:9;11723:17;11710:31;11768:18;11760:6;11757:30;11754:117;;;11790:79;;:::i;:::-;11754:117;11903:65;11960:7;11951:6;11940:9;11936:22;11903:65;:::i;:::-;11885:83;;;;11681:297;11456:529;;;;;:::o;11991:116::-;12061:21;12076:5;12061:21;:::i;:::-;12054:5;12051:32;12041:60;;12097:1;12094;12087:12;12041:60;11991:116;:::o;12113:133::-;12156:5;12194:6;12181:20;12172:29;;12210:30;12234:5;12210:30;:::i;:::-;12113:133;;;;:::o;12252:468::-;12317:6;12325;12374:2;12362:9;12353:7;12349:23;12345:32;12342:119;;;12380:79;;:::i;:::-;12342:119;12500:1;12525:53;12570:7;12561:6;12550:9;12546:22;12525:53;:::i;:::-;12515:63;;12471:117;12627:2;12653:50;12695:7;12686:6;12675:9;12671:22;12653:50;:::i;:::-;12643:60;;12598:115;12252:468;;;;;:::o;12726:117::-;12835:1;12832;12825:12;12849:307;12910:4;13000:18;12992:6;12989:30;12986:56;;;13022:18;;:::i;:::-;12986:56;13060:29;13082:6;13060:29;:::i;:::-;13052:37;;13144:4;13138;13134:15;13126:23;;12849:307;;;:::o;13162:154::-;13246:6;13241:3;13236;13223:30;13308:1;13299:6;13294:3;13290:16;13283:27;13162:154;;;:::o;13322:410::-;13399:5;13424:65;13440:48;13481:6;13440:48;:::i;:::-;13424:65;:::i;:::-;13415:74;;13512:6;13505:5;13498:21;13550:4;13543:5;13539:16;13588:3;13579:6;13574:3;13570:16;13567:25;13564:112;;;13595:79;;:::i;:::-;13564:112;13685:41;13719:6;13714:3;13709;13685:41;:::i;:::-;13405:327;13322:410;;;;;:::o;13751:338::-;13806:5;13855:3;13848:4;13840:6;13836:17;13832:27;13822:122;;13863:79;;:::i;:::-;13822:122;13980:6;13967:20;14005:78;14079:3;14071:6;14064:4;14056:6;14052:17;14005:78;:::i;:::-;13996:87;;13812:277;13751:338;;;;:::o;14095:943::-;14190:6;14198;14206;14214;14263:3;14251:9;14242:7;14238:23;14234:33;14231:120;;;14270:79;;:::i;:::-;14231:120;14390:1;14415:53;14460:7;14451:6;14440:9;14436:22;14415:53;:::i;:::-;14405:63;;14361:117;14517:2;14543:53;14588:7;14579:6;14568:9;14564:22;14543:53;:::i;:::-;14533:63;;14488:118;14645:2;14671:53;14716:7;14707:6;14696:9;14692:22;14671:53;:::i;:::-;14661:63;;14616:118;14801:2;14790:9;14786:18;14773:32;14832:18;14824:6;14821:30;14818:117;;;14854:79;;:::i;:::-;14818:117;14959:62;15013:7;15004:6;14993:9;14989:22;14959:62;:::i;:::-;14949:72;;14744:287;14095:943;;;;;;;:::o;15044:474::-;15112:6;15120;15169:2;15157:9;15148:7;15144:23;15140:32;15137:119;;;15175:79;;:::i;:::-;15137:119;15295:1;15320:53;15365:7;15356:6;15345:9;15341:22;15320:53;:::i;:::-;15310:63;;15266:117;15422:2;15448:53;15493:7;15484:6;15473:9;15469:22;15448:53;:::i;:::-;15438:63;;15393:118;15044:474;;;;;:::o;15524:180::-;15572:77;15569:1;15562:88;15669:4;15666:1;15659:15;15693:4;15690:1;15683:15;15710:320;15754:6;15791:1;15785:4;15781:12;15771:22;;15838:1;15832:4;15828:12;15859:18;15849:81;;15915:4;15907:6;15903:17;15893:27;;15849:81;15977:2;15969:6;15966:14;15946:18;15943:38;15940:84;;;15996:18;;:::i;:::-;15940:84;15761:269;15710:320;;;:::o;16036:220::-;16176:34;16172:1;16164:6;16160:14;16153:58;16245:3;16240:2;16232:6;16228:15;16221:28;16036:220;:::o;16262:366::-;16404:3;16425:67;16489:2;16484:3;16425:67;:::i;:::-;16418:74;;16501:93;16590:3;16501:93;:::i;:::-;16619:2;16614:3;16610:12;16603:19;;16262:366;;;:::o;16634:419::-;16800:4;16838:2;16827:9;16823:18;16815:26;;16887:9;16881:4;16877:20;16873:1;16862:9;16858:17;16851:47;16915:131;17041:4;16915:131;:::i;:::-;16907:139;;16634:419;;;:::o;17059:248::-;17199:34;17195:1;17187:6;17183:14;17176:58;17268:31;17263:2;17255:6;17251:15;17244:56;17059:248;:::o;17313:366::-;17455:3;17476:67;17540:2;17535:3;17476:67;:::i;:::-;17469:74;;17552:93;17641:3;17552:93;:::i;:::-;17670:2;17665:3;17661:12;17654:19;;17313:366;;;:::o;17685:419::-;17851:4;17889:2;17878:9;17874:18;17866:26;;17938:9;17932:4;17928:20;17924:1;17913:9;17909:17;17902:47;17966:131;18092:4;17966:131;:::i;:::-;17958:139;;17685:419;;;:::o;18110:232::-;18250:34;18246:1;18238:6;18234:14;18227:58;18319:15;18314:2;18306:6;18302:15;18295:40;18110:232;:::o;18348:366::-;18490:3;18511:67;18575:2;18570:3;18511:67;:::i;:::-;18504:74;;18587:93;18676:3;18587:93;:::i;:::-;18705:2;18700:3;18696:12;18689:19;;18348:366;;;:::o;18720:419::-;18886:4;18924:2;18913:9;18909:18;18901:26;;18973:9;18967:4;18963:20;18959:1;18948:9;18944:17;18937:47;19001:131;19127:4;19001:131;:::i;:::-;18993:139;;18720:419;;;:::o;19145:230::-;19285:34;19281:1;19273:6;19269:14;19262:58;19354:13;19349:2;19341:6;19337:15;19330:38;19145:230;:::o;19381:366::-;19523:3;19544:67;19608:2;19603:3;19544:67;:::i;:::-;19537:74;;19620:93;19709:3;19620:93;:::i;:::-;19738:2;19733:3;19729:12;19722:19;;19381:366;;;:::o;19753:419::-;19919:4;19957:2;19946:9;19942:18;19934:26;;20006:9;20000:4;19996:20;19992:1;19981:9;19977:17;19970:47;20034:131;20160:4;20034:131;:::i;:::-;20026:139;;19753:419;;;:::o;20178:234::-;20318:34;20314:1;20306:6;20302:14;20295:58;20387:17;20382:2;20374:6;20370:15;20363:42;20178:234;:::o;20418:366::-;20560:3;20581:67;20645:2;20640:3;20581:67;:::i;:::-;20574:74;;20657:93;20746:3;20657:93;:::i;:::-;20775:2;20770:3;20766:12;20759:19;;20418:366;;;:::o;20790:419::-;20956:4;20994:2;20983:9;20979:18;20971:26;;21043:9;21037:4;21033:20;21029:1;21018:9;21014:17;21007:47;21071:131;21197:4;21071:131;:::i;:::-;21063:139;;20790:419;;;:::o;21215:182::-;21355:34;21351:1;21343:6;21339:14;21332:58;21215:182;:::o;21403:366::-;21545:3;21566:67;21630:2;21625:3;21566:67;:::i;:::-;21559:74;;21642:93;21731:3;21642:93;:::i;:::-;21760:2;21755:3;21751:12;21744:19;;21403:366;;;:::o;21775:419::-;21941:4;21979:2;21968:9;21964:18;21956:26;;22028:9;22022:4;22018:20;22014:1;22003:9;21999:17;21992:47;22056:131;22182:4;22056:131;:::i;:::-;22048:139;;21775:419;;;:::o;22200:167::-;22340:19;22336:1;22328:6;22324:14;22317:43;22200:167;:::o;22373:366::-;22515:3;22536:67;22600:2;22595:3;22536:67;:::i;:::-;22529:74;;22612:93;22701:3;22612:93;:::i;:::-;22730:2;22725:3;22721:12;22714:19;;22373:366;;;:::o;22745:419::-;22911:4;22949:2;22938:9;22934:18;22926:26;;22998:9;22992:4;22988:20;22984:1;22973:9;22969:17;22962:47;23026:131;23152:4;23026:131;:::i;:::-;23018:139;;22745:419;;;:::o;23170:180::-;23218:77;23215:1;23208:88;23315:4;23312:1;23305:15;23339:4;23336:1;23329:15;23356:305;23396:3;23415:20;23433:1;23415:20;:::i;:::-;23410:25;;23449:20;23467:1;23449:20;:::i;:::-;23444:25;;23603:1;23535:66;23531:74;23528:1;23525:81;23522:107;;;23609:18;;:::i;:::-;23522:107;23653:1;23650;23646:9;23639:16;;23356:305;;;;:::o;23667:173::-;23807:25;23803:1;23795:6;23791:14;23784:49;23667:173;:::o;23846:366::-;23988:3;24009:67;24073:2;24068:3;24009:67;:::i;:::-;24002:74;;24085:93;24174:3;24085:93;:::i;:::-;24203:2;24198:3;24194:12;24187:19;;23846:366;;;:::o;24218:419::-;24384:4;24422:2;24411:9;24407:18;24399:26;;24471:9;24465:4;24461:20;24457:1;24446:9;24442:17;24435:47;24499:131;24625:4;24499:131;:::i;:::-;24491:139;;24218:419;;;:::o;24643:180::-;24691:77;24688:1;24681:88;24788:4;24785:1;24778:15;24812:4;24809:1;24802:15;24829:233;24868:3;24891:24;24909:5;24891:24;:::i;:::-;24882:33;;24937:66;24930:5;24927:77;24924:103;;;25007:18;;:::i;:::-;24924:103;25054:1;25047:5;25043:13;25036:20;;24829:233;;;:::o;25068:114::-;25135:6;25169:5;25163:12;25153:22;;25068:114;;;:::o;25188:184::-;25287:11;25321:6;25316:3;25309:19;25361:4;25356:3;25352:14;25337:29;;25188:184;;;;:::o;25378:132::-;25445:4;25468:3;25460:11;;25498:4;25493:3;25489:14;25481:22;;25378:132;;;:::o;25516:108::-;25593:24;25611:5;25593:24;:::i;:::-;25588:3;25581:37;25516:108;;:::o;25630:179::-;25699:10;25720:46;25762:3;25754:6;25720:46;:::i;:::-;25798:4;25793:3;25789:14;25775:28;;25630:179;;;;:::o;25815:113::-;25885:4;25917;25912:3;25908:14;25900:22;;25815:113;;;:::o;25964:732::-;26083:3;26112:54;26160:5;26112:54;:::i;:::-;26182:86;26261:6;26256:3;26182:86;:::i;:::-;26175:93;;26292:56;26342:5;26292:56;:::i;:::-;26371:7;26402:1;26387:284;26412:6;26409:1;26406:13;26387:284;;;26488:6;26482:13;26515:63;26574:3;26559:13;26515:63;:::i;:::-;26508:70;;26601:60;26654:6;26601:60;:::i;:::-;26591:70;;26447:224;26434:1;26431;26427:9;26422:14;;26387:284;;;26391:14;26687:3;26680:10;;26088:608;;;25964:732;;;;:::o;26702:373::-;26845:4;26883:2;26872:9;26868:18;26860:26;;26932:9;26926:4;26922:20;26918:1;26907:9;26903:17;26896:47;26960:108;27063:4;27054:6;26960:108;:::i;:::-;26952:116;;26702:373;;;;:::o;27081:231::-;27221:34;27217:1;27209:6;27205:14;27198:58;27290:14;27285:2;27277:6;27273:15;27266:39;27081:231;:::o;27318:366::-;27460:3;27481:67;27545:2;27540:3;27481:67;:::i;:::-;27474:74;;27557:93;27646:3;27557:93;:::i;:::-;27675:2;27670:3;27666:12;27659:19;;27318:366;;;:::o;27690:419::-;27856:4;27894:2;27883:9;27879:18;27871:26;;27943:9;27937:4;27933:20;27929:1;27918:9;27914:17;27907:47;27971:131;28097:4;27971:131;:::i;:::-;27963:139;;27690:419;;;:::o;28115:171::-;28255:23;28251:1;28243:6;28239:14;28232:47;28115:171;:::o;28292:366::-;28434:3;28455:67;28519:2;28514:3;28455:67;:::i;:::-;28448:74;;28531:93;28620:3;28531:93;:::i;:::-;28649:2;28644:3;28640:12;28633:19;;28292:366;;;:::o;28664:419::-;28830:4;28868:2;28857:9;28853:18;28845:26;;28917:9;28911:4;28907:20;28903:1;28892:9;28888:17;28881:47;28945:131;29071:4;28945:131;:::i;:::-;28937:139;;28664:419;;;:::o;29089:176::-;29229:28;29225:1;29217:6;29213:14;29206:52;29089:176;:::o;29271:366::-;29413:3;29434:67;29498:2;29493:3;29434:67;:::i;:::-;29427:74;;29510:93;29599:3;29510:93;:::i;:::-;29628:2;29623:3;29619:12;29612:19;;29271:366;;;:::o;29643:419::-;29809:4;29847:2;29836:9;29832:18;29824:26;;29896:9;29890:4;29886:20;29882:1;29871:9;29867:17;29860:47;29924:131;30050:4;29924:131;:::i;:::-;29916:139;;29643:419;;;:::o;30068:174::-;30208:26;30204:1;30196:6;30192:14;30185:50;30068:174;:::o;30248:366::-;30390:3;30411:67;30475:2;30470:3;30411:67;:::i;:::-;30404:74;;30487:93;30576:3;30487:93;:::i;:::-;30605:2;30600:3;30596:12;30589:19;;30248:366;;;:::o;30620:419::-;30786:4;30824:2;30813:9;30809:18;30801:26;;30873:9;30867:4;30863:20;30859:1;30848:9;30844:17;30837:47;30901:131;31027:4;30901:131;:::i;:::-;30893:139;;30620:419;;;:::o;31045:228::-;31185:34;31181:1;31173:6;31169:14;31162:58;31254:11;31249:2;31241:6;31237:15;31230:36;31045:228;:::o;31279:366::-;31421:3;31442:67;31506:2;31501:3;31442:67;:::i;:::-;31435:74;;31518:93;31607:3;31518:93;:::i;:::-;31636:2;31631:3;31627:12;31620:19;;31279:366;;;:::o;31651:419::-;31817:4;31855:2;31844:9;31840:18;31832:26;;31904:9;31898:4;31894:20;31890:1;31879:9;31875:17;31868:47;31932:131;32058:4;31932:131;:::i;:::-;31924:139;;31651:419;;;:::o;32076:148::-;32178:11;32215:3;32200:18;;32076:148;;;;:::o;32230:377::-;32336:3;32364:39;32397:5;32364:39;:::i;:::-;32419:89;32501:6;32496:3;32419:89;:::i;:::-;32412:96;;32517:52;32562:6;32557:3;32550:4;32543:5;32539:16;32517:52;:::i;:::-;32594:6;32589:3;32585:16;32578:23;;32340:267;32230:377;;;;:::o;32613:435::-;32793:3;32815:95;32906:3;32897:6;32815:95;:::i;:::-;32808:102;;32927:95;33018:3;33009:6;32927:95;:::i;:::-;32920:102;;33039:3;33032:10;;32613:435;;;;;:::o;33054:174::-;33194:26;33190:1;33182:6;33178:14;33171:50;33054:174;:::o;33234:366::-;33376:3;33397:67;33461:2;33456:3;33397:67;:::i;:::-;33390:74;;33473:93;33562:3;33473:93;:::i;:::-;33591:2;33586:3;33582:12;33575:19;;33234:366;;;:::o;33606:419::-;33772:4;33810:2;33799:9;33795:18;33787:26;;33859:9;33853:4;33849:20;33845:1;33834:9;33830:17;33823:47;33887:131;34013:4;33887:131;:::i;:::-;33879:139;;33606:419;;;:::o;34031:224::-;34171:34;34167:1;34159:6;34155:14;34148:58;34240:7;34235:2;34227:6;34223:15;34216:32;34031:224;:::o;34261:366::-;34403:3;34424:67;34488:2;34483:3;34424:67;:::i;:::-;34417:74;;34500:93;34589:3;34500:93;:::i;:::-;34618:2;34613:3;34609:12;34602:19;;34261:366;;;:::o;34633:419::-;34799:4;34837:2;34826:9;34822:18;34814:26;;34886:9;34880:4;34876:20;34872:1;34861:9;34857:17;34850:47;34914:131;35040:4;34914:131;:::i;:::-;34906:139;;34633:419;;;:::o;35058:223::-;35198:34;35194:1;35186:6;35182:14;35175:58;35267:6;35262:2;35254:6;35250:15;35243:31;35058:223;:::o;35287:366::-;35429:3;35450:67;35514:2;35509:3;35450:67;:::i;:::-;35443:74;;35526:93;35615:3;35526:93;:::i;:::-;35644:2;35639:3;35635:12;35628:19;;35287:366;;;:::o;35659:419::-;35825:4;35863:2;35852:9;35848:18;35840:26;;35912:9;35906:4;35902:20;35898:1;35887:9;35883:17;35876:47;35940:131;36066:4;35940:131;:::i;:::-;35932:139;;35659:419;;;:::o;36084:175::-;36224:27;36220:1;36212:6;36208:14;36201:51;36084:175;:::o;36265:366::-;36407:3;36428:67;36492:2;36487:3;36428:67;:::i;:::-;36421:74;;36504:93;36593:3;36504:93;:::i;:::-;36622:2;36617:3;36613:12;36606:19;;36265:366;;;:::o;36637:419::-;36803:4;36841:2;36830:9;36826:18;36818:26;;36890:9;36884:4;36880:20;36876:1;36865:9;36861:17;36854:47;36918:131;37044:4;36918:131;:::i;:::-;36910:139;;36637:419;;;:::o;37062:237::-;37202:34;37198:1;37190:6;37186:14;37179:58;37271:20;37266:2;37258:6;37254:15;37247:45;37062:237;:::o;37305:366::-;37447:3;37468:67;37532:2;37527:3;37468:67;:::i;:::-;37461:74;;37544:93;37633:3;37544:93;:::i;:::-;37662:2;37657:3;37653:12;37646:19;;37305:366;;;:::o;37677:419::-;37843:4;37881:2;37870:9;37866:18;37858:26;;37930:9;37924:4;37920:20;37916:1;37905:9;37901:17;37894:47;37958:131;38084:4;37958:131;:::i;:::-;37950:139;;37677:419;;;:::o;38102:180::-;38150:77;38147:1;38140:88;38247:4;38244:1;38237:15;38271:4;38268:1;38261:15;38288:173;38428:25;38424:1;38416:6;38412:14;38405:49;38288:173;:::o;38467:402::-;38627:3;38648:85;38730:2;38725:3;38648:85;:::i;:::-;38641:92;;38742:93;38831:3;38742:93;:::i;:::-;38860:2;38855:3;38851:12;38844:19;;38467:402;;;:::o;38875:167::-;39015:19;39011:1;39003:6;38999:14;38992:43;38875:167;:::o;39048:402::-;39208:3;39229:85;39311:2;39306:3;39229:85;:::i;:::-;39222:92;;39323:93;39412:3;39323:93;:::i;:::-;39441:2;39436:3;39432:12;39425:19;;39048:402;;;:::o;39456:967::-;39838:3;39860:148;40004:3;39860:148;:::i;:::-;39853:155;;40025:95;40116:3;40107:6;40025:95;:::i;:::-;40018:102;;40137:148;40281:3;40137:148;:::i;:::-;40130:155;;40302:95;40393:3;40384:6;40302:95;:::i;:::-;40295:102;;40414:3;40407:10;;39456:967;;;;;:::o;40429:98::-;40480:6;40514:5;40508:12;40498:22;;40429:98;;;:::o;40533:168::-;40616:11;40650:6;40645:3;40638:19;40690:4;40685:3;40681:14;40666:29;;40533:168;;;;:::o;40707:360::-;40793:3;40821:38;40853:5;40821:38;:::i;:::-;40875:70;40938:6;40933:3;40875:70;:::i;:::-;40868:77;;40954:52;40999:6;40994:3;40987:4;40980:5;40976:16;40954:52;:::i;:::-;41031:29;41053:6;41031:29;:::i;:::-;41026:3;41022:39;41015:46;;40797:270;40707:360;;;;:::o;41073:640::-;41268:4;41306:3;41295:9;41291:19;41283:27;;41320:71;41388:1;41377:9;41373:17;41364:6;41320:71;:::i;:::-;41401:72;41469:2;41458:9;41454:18;41445:6;41401:72;:::i;:::-;41483;41551:2;41540:9;41536:18;41527:6;41483:72;:::i;:::-;41602:9;41596:4;41592:20;41587:2;41576:9;41572:18;41565:48;41630:76;41701:4;41692:6;41630:76;:::i;:::-;41622:84;;41073:640;;;;;;;:::o;41719:141::-;41775:5;41806:6;41800:13;41791:22;;41822:32;41848:5;41822:32;:::i;:::-;41719:141;;;;:::o;41866:349::-;41935:6;41984:2;41972:9;41963:7;41959:23;41955:32;41952:119;;;41990:79;;:::i;:::-;41952:119;42110:1;42135:63;42190:7;42181:6;42170:9;42166:22;42135:63;:::i;:::-;42125:73;;42081:127;41866:349;;;;:::o;42221:240::-;42361:34;42357:1;42349:6;42345:14;42338:58;42430:23;42425:2;42417:6;42413:15;42406:48;42221:240;:::o;42467:366::-;42609:3;42630:67;42694:2;42689:3;42630:67;:::i;:::-;42623:74;;42706:93;42795:3;42706:93;:::i;:::-;42824:2;42819:3;42815:12;42808:19;;42467:366;;;:::o;42839:419::-;43005:4;43043:2;43032:9;43028:18;43020:26;;43092:9;43086:4;43082:20;43078:1;43067:9;43063:17;43056:47;43120:131;43246:4;43120:131;:::i;:::-;43112:139;;42839:419;;;:::o;43264:348::-;43304:7;43327:20;43345:1;43327:20;:::i;:::-;43322:25;;43361:20;43379:1;43361:20;:::i;:::-;43356:25;;43549:1;43481:66;43477:74;43474:1;43471:81;43466:1;43459:9;43452:17;43448:105;43445:131;;;43556:18;;:::i;:::-;43445:131;43604:1;43601;43597:9;43586:20;;43264:348;;;;:::o;43618:171::-;43657:3;43680:24;43698:5;43680:24;:::i;:::-;43671:33;;43726:4;43719:5;43716:15;43713:41;;;43734:18;;:::i;:::-;43713:41;43781:1;43774:5;43770:13;43763:20;;43618:171;;;:::o;43795:182::-;43935:34;43931:1;43923:6;43919:14;43912:58;43795:182;:::o;43983:366::-;44125:3;44146:67;44210:2;44205:3;44146:67;:::i;:::-;44139:74;;44222:93;44311:3;44222:93;:::i;:::-;44340:2;44335:3;44331:12;44324:19;;43983:366;;;:::o;44355:419::-;44521:4;44559:2;44548:9;44544:18;44536:26;;44608:9;44602:4;44598:20;44594:1;44583:9;44579:17;44572:47;44636:131;44762:4;44636:131;:::i;:::-;44628:139;;44355:419;;;:::o;44780:182::-;44920:34;44916:1;44908:6;44904:14;44897:58;44780:182;:::o;44968:366::-;45110:3;45131:67;45195:2;45190:3;45131:67;:::i;:::-;45124:74;;45207:93;45296:3;45207:93;:::i;:::-;45325:2;45320:3;45316:12;45309:19;;44968:366;;;:::o;45340:419::-;45506:4;45544:2;45533:9;45529:18;45521:26;;45593:9;45587:4;45583:20;45579:1;45568:9;45564:17;45557:47;45621:131;45747:4;45621:131;:::i;:::-;45613:139;;45340:419;;;:::o;45765:178::-;45905:30;45901:1;45893:6;45889:14;45882:54;45765:178;:::o;45949:366::-;46091:3;46112:67;46176:2;46171:3;46112:67;:::i;:::-;46105:74;;46188:93;46277:3;46188:93;:::i;:::-;46306:2;46301:3;46297:12;46290:19;;45949:366;;;:::o;46321:419::-;46487:4;46525:2;46514:9;46510:18;46502:26;;46574:9;46568:4;46564:20;46560:1;46549:9;46545:17;46538:47;46602:131;46728:4;46602:131;:::i;:::-;46594:139;;46321:419;;;:::o;46746:191::-;46786:4;46806:20;46824:1;46806:20;:::i;:::-;46801:25;;46840:20;46858:1;46840:20;:::i;:::-;46835:25;;46879:1;46876;46873:8;46870:34;;;46884:18;;:::i;:::-;46870:34;46929:1;46926;46922:9;46914:17;;46746:191;;;;:::o;46943:180::-;46991:77;46988:1;46981:88;47088:4;47085:1;47078:15;47112:4;47109:1;47102:15", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract NFT is AccessControl, ERC721Enumerable {\n mapping(uint256 => bool) public lockedTokens;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n uint256 public immutable supplyLimit;\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n event BatchMint(address indexed to, uint256[] tokenIds);\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(LOCK_ROLE, DEFAULT_ADMIN_ROLE);\n\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n _setupRole(LOCK_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n /**\n * @dev Batch mint tokens and transfer to specified address.\n *\n * Requirements:\n * - Caller must have `MINTER_ROLE`.\n * - The total supply limit should not be exceeded.\n * - The number of tokenIds offered for minting should not exceed 100.\n */\n\n function batchMint(\n address to,\n uint256[] memory tokenIds\n ) external onlyRole(MINTER_ROLE) {\n uint256 count = tokenIds.length;\n require(count <= 100, \"tokenIds too many\");\n if (supplyLimit > 0) {\n require(\n (totalSupply() + count) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n for (uint256 i = 0; i < count; i++) {\n uint256 tokenId = tokenIds[i];\n _safeMint(to, tokenId);\n }\n emit BatchMint(to, tokenIds);\n }\n\n /**\n * @dev Grant mint role to address\n */\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Remove mint role to address\n */\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Add address for lock item\n */\n function setLockRole(address to) external {\n grantRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function removeLockRole(address to) external {\n revokeRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Set token URI\n */\n function updateBaseURI(\n string calldata baseTokenURI\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _baseTokenURI = baseTokenURI;\n }\n\n /**\n * @dev See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 firstTokenId,\n uint256 batchSize\n ) internal virtual override {\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(\n bytes4 interfaceId\n )\n public\n view\n virtual\n override(AccessControl, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n function burn(uint256 tokenId) external virtual {\n require(\n _isApprovedOrOwner(_msgSender(), tokenId),\n \"caller is not owner nor approved\"\n );\n _burn(tokenId);\n }\n}\n", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc721/NFT.sol", + "ast": { + "absolutePath": "project:/contracts/tokens/erc721/NFT.sol", + "exportedSymbols": { + "AccessControl": [ + 315 + ], + "Address": [ + 2191 + ], + "Context": [ + 2213 + ], + "ERC165": [ + 2466 + ], + "ERC721": [ + 1315 + ], + "ERC721Enumerable": [ + 1803 + ], + "IAccessControl": [ + 388 + ], + "IERC165": [ + 2478 + ], + "IERC721": [ + 1431 + ], + "IERC721Enumerable": [ + 1834 + ], + "IERC721Metadata": [ + 1861 + ], + "IERC721Receiver": [ + 1449 + ], + "Math": [ + 3344 + ], + "NFT": [ + 3806 + ], + "SignedMath": [ + 3449 + ], + "Strings": [ + 2442 + ] + }, + "id": 3807, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3451, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "32:23:15" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", + "id": 3452, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3807, + "sourceUnit": 1804, + "src": "56:78:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 3453, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3807, + "sourceUnit": 316, + "src": "135:58:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3454, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 315, + "src": "211:13:15" + }, + "id": 3455, + "nodeType": "InheritanceSpecifier", + "src": "211:13:15" + }, + { + "baseName": { + "id": 3456, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1803, + "src": "226:16:15" + }, + "id": 3457, + "nodeType": "InheritanceSpecifier", + "src": "226:16:15" + } + ], + "canonicalName": "NFT", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3806, + "linearizedBaseContracts": [ + 3806, + 1803, + 1834, + 1315, + 1861, + 1431, + 315, + 2466, + 2478, + 388, + 2213 + ], + "name": "NFT", + "nameLocation": "204:3:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "dcec3294", + "id": 3461, + "mutability": "mutable", + "name": "lockedTokens", + "nameLocation": "279:12:15", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "247:44:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "typeName": { + "id": 3460, + "keyType": { + "id": 3458, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "255:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "247:24:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 3459, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "266:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 3464, + "mutability": "mutable", + "name": "_baseTokenURI", + "nameLocation": "310:13:15", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "295:72:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 3462, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "295:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "68747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "id": 3463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "326:41:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a22360c1a10c8323f2bd626125be4905616eb83f03cca72bba7f9692c4900800", + "typeString": "literal_string \"https://market.cebg.games/api/nft/info/\"" + }, + "value": "https://market.cebg.games/api/nft/info/" + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "d5391393", + "id": 3469, + "mutability": "constant", + "name": "MINTER_ROLE", + "nameLocation": "395:11:15", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "371:62:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3465, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "371:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d494e5445525f524f4c45", + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "419:13:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + }, + "value": "MINTER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "typeString": "literal_string \"MINTER_ROLE\"" + } + ], + "id": 3466, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "409:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "409:24:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "2f286b1b", + "id": 3474, + "mutability": "constant", + "name": "LOCK_ROLE", + "nameLocation": "461:9:15", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "437:58:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3470, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "437:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c4f434b5f524f4c45", + "id": 3472, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "483:11:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751", + "typeString": "literal_string \"LOCK_ROLE\"" + }, + "value": "LOCK_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751", + "typeString": "literal_string \"LOCK_ROLE\"" + } + ], + "id": 3471, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "473:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "473:22:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "19d1997a", + "id": 3476, + "mutability": "immutable", + "name": "supplyLimit", + "nameLocation": "524:11:15", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "499:36:15", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "499:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 3480, + "name": "Lock", + "nameLocation": "546:4:15", + "nodeType": "EventDefinition", + "parameters": { + "id": 3479, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3478, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "567:7:15", + "nodeType": "VariableDeclaration", + "scope": 3480, + "src": "551:23:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "551:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "550:25:15" + }, + "src": "540:36:15" + }, + { + "anonymous": false, + "id": 3484, + "name": "UnLock", + "nameLocation": "585:6:15", + "nodeType": "EventDefinition", + "parameters": { + "id": 3483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3482, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "608:7:15", + "nodeType": "VariableDeclaration", + "scope": 3484, + "src": "592:23:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3481, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "592:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "591:25:15" + }, + "src": "579:38:15" + }, + { + "anonymous": false, + "id": 3491, + "name": "BatchMint", + "nameLocation": "626:9:15", + "nodeType": "EventDefinition", + "parameters": { + "id": 3490, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3486, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "652:2:15", + "nodeType": "VariableDeclaration", + "scope": 3491, + "src": "636:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "636:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3489, + "indexed": false, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "666:8:15", + "nodeType": "VariableDeclaration", + "scope": 3491, + "src": "656:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "656:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3488, + "nodeType": "ArrayTypeName", + "src": "656:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "635:40:15" + }, + "src": "620:56:15" + }, + { + "body": { + "id": 3536, + "nodeType": "Block", + "src": "796:267:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3505, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3469, + "src": "816:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3506, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "829:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3504, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 251, + "src": "802:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "802:46:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3508, + "nodeType": "ExpressionStatement", + "src": "802:46:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3510, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "868:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3511, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "879:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3509, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 251, + "src": "854:13:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 3512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "854:44:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3513, + "nodeType": "ExpressionStatement", + "src": "854:44:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3515, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "916:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3516, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "936:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "936:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3514, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "905:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "905:42:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3519, + "nodeType": "ExpressionStatement", + "src": "905:42:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3521, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3469, + "src": "964:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "977:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "977:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3520, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "953:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "953:35:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3525, + "nodeType": "ExpressionStatement", + "src": "953:35:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3527, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "1005:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 3528, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1016:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1016:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3526, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "994:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "994:33:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3531, + "nodeType": "ExpressionStatement", + "src": "994:33:15" + }, + { + "expression": { + "id": 3534, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3532, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "1033:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3533, + "name": "_supplyLimt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3497, + "src": "1047:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1033:25:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3535, + "nodeType": "ExpressionStatement", + "src": "1033:25:15" + } + ] + }, + "id": 3537, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3500, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3493, + "src": "780:5:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3501, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3495, + "src": "787:7:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3502, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3499, + "name": "ERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1315, + "src": "773:6:15" + }, + "nodeType": "ModifierInvocation", + "src": "773:22:15" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3493, + "mutability": "mutable", + "name": "_name", + "nameLocation": "711:5:15", + "nodeType": "VariableDeclaration", + "scope": 3537, + "src": "697:19:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3492, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "697:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3495, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "736:7:15", + "nodeType": "VariableDeclaration", + "scope": 3537, + "src": "722:21:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3494, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "722:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3497, + "mutability": "mutable", + "name": "_supplyLimt", + "nameLocation": "757:11:15", + "nodeType": "VariableDeclaration", + "scope": 3537, + "src": "749:19:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3496, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "749:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "691:81:15" + }, + "returnParameters": { + "id": 3503, + "nodeType": "ParameterList", + "parameters": [], + "src": "796:0:15" + }, + "scope": 3806, + "src": "680:383:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 602 + ], + "body": { + "id": 3545, + "nodeType": "Block", + "src": "1142:31:15", + "statements": [ + { + "expression": { + "id": 3543, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "1155:13:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 3542, + "id": 3544, + "nodeType": "Return", + "src": "1148:20:15" + } + ] + }, + "id": 3546, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "1076:8:15", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3539, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1109:8:15" + }, + "parameters": { + "id": 3538, + "nodeType": "ParameterList", + "parameters": [], + "src": "1084:2:15" + }, + "returnParameters": { + "id": 3542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3541, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3546, + "src": "1127:13:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3540, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1127:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1126:15:15" + }, + "scope": 3806, + "src": "1067:106:15", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3614, + "nodeType": "Block", + "src": "1544:378:15", + "statements": [ + { + "assignments": [ + 3559 + ], + "declarations": [ + { + "constant": false, + "id": 3559, + "mutability": "mutable", + "name": "count", + "nameLocation": "1558:5:15", + "nodeType": "VariableDeclaration", + "scope": 3614, + "src": "1550:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1550:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3562, + "initialValue": { + "expression": { + "id": 3560, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3552, + "src": "1566:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1566:15:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1550:31:15" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3564, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "1595:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "313030", + "id": 3565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1604:3:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "1595:12:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "id": 3567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1609:19:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + }, + "value": "tokenIds too many" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + } + ], + "id": 3563, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1587:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1587:42:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3569, + "nodeType": "ExpressionStatement", + "src": "1587:42:15" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3570, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "1639:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1653:1:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1639:15:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3585, + "nodeType": "IfStatement", + "src": "1635:134:15", + "trueBody": { + "id": 3584, + "nodeType": "Block", + "src": "1656:113:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3574, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "1682:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1682:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 3576, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "1698:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1682:21:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3578, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1681:23:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3579, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3476, + "src": "1708:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1681:38:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 3581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1729:25:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + }, + "value": "Exceed the total supply" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + } + ], + "id": 3573, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1664:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1664:98:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3583, + "nodeType": "ExpressionStatement", + "src": "1664:98:15" + } + ] + } + }, + { + "body": { + "id": 3607, + "nodeType": "Block", + "src": "1810:74:15", + "statements": [ + { + "assignments": [ + 3597 + ], + "declarations": [ + { + "constant": false, + "id": 3597, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1826:7:15", + "nodeType": "VariableDeclaration", + "scope": 3607, + "src": "1818:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1818:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3601, + "initialValue": { + "baseExpression": { + "id": 3598, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3552, + "src": "1836:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3600, + "indexExpression": { + "id": 3599, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3587, + "src": "1845:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1836:11:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1818:29:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3603, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3549, + "src": "1865:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3604, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3597, + "src": "1869:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3602, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 883, + 912 + ], + "referencedDeclaration": 883, + "src": "1855:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1855:22:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3606, + "nodeType": "ExpressionStatement", + "src": "1855:22:15" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3590, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3587, + "src": "1794:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3591, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3559, + "src": "1798:5:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1794:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3608, + "initializationExpression": { + "assignments": [ + 3587 + ], + "declarations": [ + { + "constant": false, + "id": 3587, + "mutability": "mutable", + "name": "i", + "nameLocation": "1787:1:15", + "nodeType": "VariableDeclaration", + "scope": 3608, + "src": "1779:9:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3586, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1779:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3589, + "initialValue": { + "hexValue": "30", + "id": 3588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1791:1:15", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1779:13:15" + }, + "loopExpression": { + "expression": { + "id": 3594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1805:3:15", + "subExpression": { + "id": 3593, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3587, + "src": "1805:1:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3595, + "nodeType": "ExpressionStatement", + "src": "1805:3:15" + }, + "nodeType": "ForStatement", + "src": "1774:110:15" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3610, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3549, + "src": "1904:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3611, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3552, + "src": "1908:8:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 3609, + "name": "BatchMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3491, + "src": "1894:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory)" + } + }, + "id": 3612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1894:23:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3613, + "nodeType": "EmitStatement", + "src": "1889:28:15" + } + ] + }, + "documentation": { + "id": 3547, + "nodeType": "StructuredDocumentation", + "src": "1177:262:15", + "text": " @dev Batch mint tokens and transfer to specified address.\n Requirements:\n - Caller must have `MINTER_ROLE`.\n - The total supply limit should not be exceeded.\n - The number of tokenIds offered for minting should not exceed 100." + }, + "functionSelector": "4684d7e9", + "id": 3615, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3555, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3469, + "src": "1531:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3556, + "kind": "modifierInvocation", + "modifierName": { + "id": 3554, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "1522:8:15" + }, + "nodeType": "ModifierInvocation", + "src": "1522:21:15" + } + ], + "name": "batchMint", + "nameLocation": "1452:9:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3549, + "mutability": "mutable", + "name": "to", + "nameLocation": "1475:2:15", + "nodeType": "VariableDeclaration", + "scope": 3615, + "src": "1467:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1467:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3552, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "1500:8:15", + "nodeType": "VariableDeclaration", + "scope": 3615, + "src": "1483:25:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1483:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3551, + "nodeType": "ArrayTypeName", + "src": "1483:9:15", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1461:51:15" + }, + "returnParameters": { + "id": 3557, + "nodeType": "ParameterList", + "parameters": [], + "src": "1544:0:15" + }, + "scope": 3806, + "src": "1443:479:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3626, + "nodeType": "Block", + "src": "2017:37:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3622, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3469, + "src": "2033:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3623, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3618, + "src": "2046:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3621, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "2023:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2023:26:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3625, + "nodeType": "ExpressionStatement", + "src": "2023:26:15" + } + ] + }, + "documentation": { + "id": 3616, + "nodeType": "StructuredDocumentation", + "src": "1926:46:15", + "text": " @dev Grant mint role to address" + }, + "functionSelector": "530dd079", + "id": 3627, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setMintRole", + "nameLocation": "1984:11:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3618, + "mutability": "mutable", + "name": "to", + "nameLocation": "2004:2:15", + "nodeType": "VariableDeclaration", + "scope": 3627, + "src": "1996:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1996:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1995:12:15" + }, + "returnParameters": { + "id": 3620, + "nodeType": "ParameterList", + "parameters": [], + "src": "2017:0:15" + }, + "scope": 3806, + "src": "1975:79:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3638, + "nodeType": "Block", + "src": "2153:38:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3634, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3469, + "src": "2170:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3635, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3630, + "src": "2183:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3633, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2159:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2159:27:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3637, + "nodeType": "ExpressionStatement", + "src": "2159:27:15" + } + ] + }, + "documentation": { + "id": 3628, + "nodeType": "StructuredDocumentation", + "src": "2058:47:15", + "text": " @dev Remove mint role to address" + }, + "functionSelector": "1cf4e3ee", + "id": 3639, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeMintRole", + "nameLocation": "2117:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3631, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3630, + "mutability": "mutable", + "name": "to", + "nameLocation": "2140:2:15", + "nodeType": "VariableDeclaration", + "scope": 3639, + "src": "2132:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2132:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2131:12:15" + }, + "returnParameters": { + "id": 3632, + "nodeType": "ParameterList", + "parameters": [], + "src": "2153:0:15" + }, + "scope": 3806, + "src": "2108:83:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3650, + "nodeType": "Block", + "src": "2285:35:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3646, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "2301:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3647, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3642, + "src": "2312:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3645, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "2291:9:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2291:24:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3649, + "nodeType": "ExpressionStatement", + "src": "2291:24:15" + } + ] + }, + "documentation": { + "id": 3640, + "nodeType": "StructuredDocumentation", + "src": "2195:45:15", + "text": " @dev Add address for lock item" + }, + "functionSelector": "786c4ab5", + "id": 3651, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setLockRole", + "nameLocation": "2252:11:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3642, + "mutability": "mutable", + "name": "to", + "nameLocation": "2272:2:15", + "nodeType": "VariableDeclaration", + "scope": 3651, + "src": "2264:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3641, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2264:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2263:12:15" + }, + "returnParameters": { + "id": 3644, + "nodeType": "ParameterList", + "parameters": [], + "src": "2285:0:15" + }, + "scope": 3806, + "src": "2243:77:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3662, + "nodeType": "Block", + "src": "2420:36:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3658, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "2437:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3659, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3654, + "src": "2448:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3657, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 186, + "src": "2426:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 3660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2426:25:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3661, + "nodeType": "ExpressionStatement", + "src": "2426:25:15" + } + ] + }, + "documentation": { + "id": 3652, + "nodeType": "StructuredDocumentation", + "src": "2324:48:15", + "text": " @dev Remove address for lock item" + }, + "functionSelector": "79deb6e7", + "id": 3663, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeLockRole", + "nameLocation": "2384:14:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3654, + "mutability": "mutable", + "name": "to", + "nameLocation": "2407:2:15", + "nodeType": "VariableDeclaration", + "scope": 3663, + "src": "2399:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3653, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2399:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2398:12:15" + }, + "returnParameters": { + "id": 3656, + "nodeType": "ParameterList", + "parameters": [], + "src": "2420:0:15" + }, + "scope": 3806, + "src": "2375:81:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3697, + "nodeType": "Block", + "src": "2582:184:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3674, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "2604:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3673, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "2596:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2596:16:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 3676, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2614:23:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + }, + "value": "Must be valid tokenId" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + } + ], + "id": 3672, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2588:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2588:50:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3678, + "nodeType": "ExpressionStatement", + "src": "2588:50:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2652:22:15", + "subExpression": { + "baseExpression": { + "id": 3680, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3461, + "src": "2653:12:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 3682, + "indexExpression": { + "id": 3681, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "2666:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2653:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", + "id": 3684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2676:26:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "typeString": "literal_string \"Token has already locked\"" + }, + "value": "Token has already locked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "typeString": "literal_string \"Token has already locked\"" + } + ], + "id": 3679, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2644:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2644:59:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3686, + "nodeType": "ExpressionStatement", + "src": "2644:59:15" + }, + { + "expression": { + "id": 3691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3687, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3461, + "src": "2709:12:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 3689, + "indexExpression": { + "id": 3688, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "2722:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2709:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 3690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2733:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2709:28:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3692, + "nodeType": "ExpressionStatement", + "src": "2709:28:15" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3694, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3666, + "src": "2753:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3693, + "name": "Lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3480, + "src": "2748:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2748:13:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3696, + "nodeType": "EmitStatement", + "src": "2743:18:15" + } + ] + }, + "documentation": { + "id": 3664, + "nodeType": "StructuredDocumentation", + "src": "2460:59:15", + "text": " @dev Lock token to use in game or for rental" + }, + "functionSelector": "dd467064", + "id": 3698, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3669, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "2571:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3670, + "kind": "modifierInvocation", + "modifierName": { + "id": 3668, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "2562:8:15" + }, + "nodeType": "ModifierInvocation", + "src": "2562:19:15" + } + ], + "name": "lock", + "nameLocation": "2531:4:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3666, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2544:7:15", + "nodeType": "VariableDeclaration", + "scope": 3698, + "src": "2536:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3665, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2536:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2535:17:15" + }, + "returnParameters": { + "id": 3671, + "nodeType": "ParameterList", + "parameters": [], + "src": "2582:0:15" + }, + "scope": 3806, + "src": "2522:244:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3731, + "nodeType": "Block", + "src": "2908:188:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3709, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3701, + "src": "2930:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3708, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "2922:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2922:16:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 3711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2940:23:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + }, + "value": "Must be valid tokenId" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" + } + ], + "id": 3707, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2914:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2914:50:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3713, + "nodeType": "ExpressionStatement", + "src": "2914:50:15" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 3715, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3461, + "src": "2978:12:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 3717, + "indexExpression": { + "id": 3716, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3701, + "src": "2991:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2978:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", + "id": 3718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3001:28:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "typeString": "literal_string \"Token has already unlocked\"" + }, + "value": "Token has already unlocked" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "typeString": "literal_string \"Token has already unlocked\"" + } + ], + "id": 3714, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2970:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2970:60:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3720, + "nodeType": "ExpressionStatement", + "src": "2970:60:15" + }, + { + "expression": { + "id": 3725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3721, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3461, + "src": "3036:12:15", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 3723, + "indexExpression": { + "id": 3722, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3701, + "src": "3049:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3036:21:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 3724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3060:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3036:29:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3726, + "nodeType": "ExpressionStatement", + "src": "3036:29:15" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3728, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3701, + "src": "3083:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3727, + "name": "UnLock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3484, + "src": "3076:6:15", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3076:15:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3730, + "nodeType": "EmitStatement", + "src": "3071:20:15" + } + ] + }, + "documentation": { + "id": 3699, + "nodeType": "StructuredDocumentation", + "src": "2770:73:15", + "text": " @dev Unlock token to use blockchain or sale on marketplace" + }, + "functionSelector": "6198e339", + "id": 3732, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3704, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3474, + "src": "2897:9:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3705, + "kind": "modifierInvocation", + "modifierName": { + "id": 3703, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "2888:8:15" + }, + "nodeType": "ModifierInvocation", + "src": "2888:19:15" + } + ], + "name": "unlock", + "nameLocation": "2855:6:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3701, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2870:7:15", + "nodeType": "VariableDeclaration", + "scope": 3732, + "src": "2862:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3700, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2862:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2861:17:15" + }, + "returnParameters": { + "id": 3706, + "nodeType": "ParameterList", + "parameters": [], + "src": "2908:0:15" + }, + "scope": 3806, + "src": "2846:250:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3745, + "nodeType": "Block", + "src": "3235:39:15", + "statements": [ + { + "expression": { + "id": 3743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3741, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3464, + "src": "3241:13:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3742, + "name": "baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3735, + "src": "3257:12:15", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "3241:28:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 3744, + "nodeType": "ExpressionStatement", + "src": "3241:28:15" + } + ] + }, + "documentation": { + "id": 3733, + "nodeType": "StructuredDocumentation", + "src": "3100:33:15", + "text": " @dev Set token URI" + }, + "functionSelector": "931688cb", + "id": 3746, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3738, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3215:18:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3739, + "kind": "modifierInvocation", + "modifierName": { + "id": 3737, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "3206:8:15" + }, + "nodeType": "ModifierInvocation", + "src": "3206:28:15" + } + ], + "name": "updateBaseURI", + "nameLocation": "3145:13:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3735, + "mutability": "mutable", + "name": "baseTokenURI", + "nameLocation": "3180:12:15", + "nodeType": "VariableDeclaration", + "scope": 3746, + "src": "3164:28:15", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3734, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3164:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3158:38:15" + }, + "returnParameters": { + "id": 3740, + "nodeType": "ParameterList", + "parameters": [], + "src": "3235:0:15" + }, + "scope": 3806, + "src": "3136:138:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 1641 + ], + "body": { + "id": 3768, + "nodeType": "Block", + "src": "3479:72:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3762, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3749, + "src": "3512:4:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3763, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3751, + "src": "3518:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3764, + "name": "firstTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3753, + "src": "3522:12:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3765, + "name": "batchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3755, + "src": "3536:9:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3759, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "3485:5:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFT_$3806_$", + "typeString": "type(contract super NFT)" + } + }, + "id": 3761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1641, + "src": "3485:26:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 3766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3485:61:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3767, + "nodeType": "ExpressionStatement", + "src": "3485:61:15" + } + ] + }, + "documentation": { + "id": 3747, + "nodeType": "StructuredDocumentation", + "src": "3278:55:15", + "text": " @dev See {IERC165-_beforeTokenTransfer}." + }, + "id": 3769, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "3345:20:15", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3757, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3470:8:15" + }, + "parameters": { + "id": 3756, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3749, + "mutability": "mutable", + "name": "from", + "nameLocation": "3379:4:15", + "nodeType": "VariableDeclaration", + "scope": 3769, + "src": "3371:12:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3371:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3751, + "mutability": "mutable", + "name": "to", + "nameLocation": "3397:2:15", + "nodeType": "VariableDeclaration", + "scope": 3769, + "src": "3389:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3750, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3389:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3753, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "3413:12:15", + "nodeType": "VariableDeclaration", + "scope": 3769, + "src": "3405:20:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3752, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3405:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3755, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "3439:9:15", + "nodeType": "VariableDeclaration", + "scope": 3769, + "src": "3431:17:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3754, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3431:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3365:87:15" + }, + "returnParameters": { + "id": 3758, + "nodeType": "ParameterList", + "parameters": [], + "src": "3479:0:15" + }, + "scope": 3806, + "src": "3336:215:15", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 60, + 1499 + ], + "body": { + "id": 3785, + "nodeType": "Block", + "src": "3764:54:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3782, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3772, + "src": "3801:11:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3780, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "3777:5:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFT_$3806_$", + "typeString": "type(contract super NFT)" + } + }, + "id": 3781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1499, + "src": "3777:23:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 3783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3777:36:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3779, + "id": 3784, + "nodeType": "Return", + "src": "3770:43:15" + } + ] + }, + "documentation": { + "id": 3770, + "nodeType": "StructuredDocumentation", + "src": "3555:52:15", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 3786, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "3619:17:15", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3776, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 3774, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 315, + "src": "3710:13:15" + }, + { + "id": 3775, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1803, + "src": "3725:16:15" + } + ], + "src": "3701:41:15" + }, + "parameters": { + "id": 3773, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3772, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "3649:11:15", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "3642:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3771, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3642:6:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "3636:28:15" + }, + "returnParameters": { + "id": 3779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3778, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3786, + "src": "3756:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3777, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3756:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3755:6:15" + }, + "scope": 3806, + "src": "3610:208:15", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 3804, + "nodeType": "Block", + "src": "3870:135:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3793, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2203, + "src": "3910:10:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3910:12:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3795, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "3924:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3792, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 868, + "src": "3891:18:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 3796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3891:41:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3940:34:15", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", + "typeString": "literal_string \"caller is not owner nor approved\"" + }, + "value": "caller is not owner nor approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", + "typeString": "literal_string \"caller is not owner nor approved\"" + } + ], + "id": 3791, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3876:7:15", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3876:104:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3799, + "nodeType": "ExpressionStatement", + "src": "3876:104:15" + }, + { + "expression": { + "arguments": [ + { + "id": 3801, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3788, + "src": "3992:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3800, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1056, + "src": "3986:5:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3986:14:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3803, + "nodeType": "ExpressionStatement", + "src": "3986:14:15" + } + ] + }, + "functionSelector": "42966c68", + "id": 3805, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3831:4:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3788, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3844:7:15", + "nodeType": "VariableDeclaration", + "scope": 3805, + "src": "3836:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3836:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3835:17:15" + }, + "returnParameters": { + "id": 3790, + "nodeType": "ParameterList", + "parameters": [], + "src": "3870:0:15" + }, + "scope": 3806, + "src": "3822:183:15", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "external" + } + ], + "scope": 3807, + "src": "195:3812:15", + "usedErrors": [] + } + ], + "src": "32:3976:15" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": { + "421613": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + "0x6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd2682431": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + "0x57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf4227": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + "0xa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b320": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + } + }, + "links": {}, + "address": "0xae37bb7BcA26Bab9a11D8BaE8fdB97f63b82c189", + "transactionHash": "0xaaac6bf3620a39f02ca5a28c6bf038ab943e0d5cce49f6da2f17ab90aa1202ab" + }, + "1665974821170": { + "events": {}, + "links": {}, + "address": "0x0290FB167208Af455bB137780163b7B7a9a10C16", + "transactionHash": "0x3ec05f484314a519f76d32a291232eb844dc8f4286df76d517e367eab8997e93" + } + }, + "schemaVersion": "3.4.11", + "updatedAt": "2023-06-28T08:33:24.098Z", + "devdoc": { + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "batchMint(address,uint256[])": { + "details": "Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "lock(uint256)": { + "details": "Lock token to use in game or for rental" + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "removeLockRole(address)": { + "details": "Remove address for lock item" + }, + "removeMintRole(address)": { + "details": "Remove mint role to address" + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "setLockRole(address)": { + "details": "Add address for lock item" + }, + "setMintRole(address)": { + "details": "Grant mint role to address" + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + }, + "unlock(uint256)": { + "details": "Unlock token to use blockchain or sale on marketplace" + }, + "updateBaseURI(string)": { + "details": "Set token URI" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/src/cache/ChainCache.ts b/src/cache/ChainCache.ts new file mode 100644 index 0000000..737ef64 --- /dev/null +++ b/src/cache/ChainCache.ts @@ -0,0 +1,74 @@ +import { singleton } from 'decorators/singleton' +import assert from 'assert' +import { HttpRetryProvider } from 'chain/HttpRetryProvider' +import { AllChains } from 'chain/allchain' +import Web3 from 'web3' +import { WalletReactor } from 'chain/WalletReactor' +import { ConfirmQueue } from 'queue/confirm.queue' + +const chainCfgs = require('../../config/chains.json') + +export interface IChainCfg { + id: number + key: string + wallet: string +} + +@singleton +export class ChainCache { + public providers: Map = new Map() + public wallets: Map = new Map() + public confirmQueues: Map = new Map() + constructor() { + this.init() + } + + private async init() { + for (let cfg of chainCfgs) { + let chainData = AllChains.find(o => o.id === cfg.id) + assert(chainData, `chain id ${cfg.id} not found`) + let web3 = new Web3(new HttpRetryProvider(chainData.rpc.split('|'))) + web3.eth.accounts.wallet.add(cfg.key) + this.providers.set(cfg.id, web3) + let wallet = new WalletReactor({ + web3: web3, + address: cfg.wallet, + }) + this.wallets.set(cfg.id, wallet) + this.confirmQueues.set(cfg.id, new ConfirmQueue(web3)) + } + } + + public get chainArray(): IChainCfg[] { + return chainCfgs + } + + public getWeb3(chainId: number) { + if (!this.providers.has(chainId)) { + throw new Error(`web3 for chain id ${chainId} not found`) + } + return this.providers.get(chainId) + } + + public getWallet(chainId: number) { + if (!this.wallets.has(chainId)) { + throw new Error(`wallet for chain id ${chainId} not found`) + } + return this.wallets.get(chainId) + } + + public getConfirmQueue(chainId: number) { + if (!this.confirmQueues.has(chainId)) { + throw new Error(`confirm queue for chain id ${chainId} not found`) + } + return this.confirmQueues.get(chainId) + } + + public getInstances(chain: number, contract: string, abi: any) { + let web3 = new ChainCache().getWeb3(chain) + assert(web3, `web3 for chain id ${chain} not found`) + let account = web3.eth.accounts.wallet[0] + assert(account, `account for chain id ${chain} not found`) + return { instance: new web3.eth.Contract(abi, contract, { from: account.address }), account, web3 } + } +} diff --git a/src/chain/BlockChain.ts b/src/chain/BlockChain.ts index 45cdcb9..f1de487 100644 --- a/src/chain/BlockChain.ts +++ b/src/chain/BlockChain.ts @@ -2,71 +2,37 @@ import { singleton } from 'decorators/singleton' import logger from 'logger/logger' import { TaskType } from 'models/RequestTask' import { ConfirmQueue } from 'queue/confirm.queue' -import Web3 from 'web3' -import { TransactionReceipt, AddedAccount } from 'web3-core' +import { TransactionReceipt } from 'web3-core' import { ERC20Reactor } from './ERC20Reactor' import { ERC721Reactor } from './ERC721Reactor' -import { HttpRetryProvider } from './HttpRetryProvider' -import { WalletReactor } from './WalletReactor' import { DistributorReactor } from './DistributorReactor' +import { ChainCache } from 'cache/ChainCache' @singleton export class BlockChain { - private web3: Web3 - instanceCacheMap: Map - private accountMaster: AddedAccount public erc20Reactor: ERC20Reactor public erc721Reactor: ERC721Reactor - public walletReactor: WalletReactor public distributorReactor: DistributorReactor public confirmQueue: ConfirmQueue public currentBlockNum: number = 0 constructor() { - const provider = new HttpRetryProvider(process.env.CHAIN_RPC_URL.split('|')) - this.web3 = new Web3(provider) - this.confirmQueue = new ConfirmQueue(this.web3) - let key = process.env.CHAIN_MASTER_KEY - this.accountMaster = this.web3.eth.accounts.wallet.add(key) - this.instanceCacheMap = new Map() - this.erc20Reactor = new ERC20Reactor({ - web3: this.web3, - address: process.env.CHAIN_FT_ADDRESS, - }) - this.erc721Reactor = new ERC721Reactor({ - web3: this.web3, - address: process.env.CHAIN_NFT_ADDRESS, - }) - this.walletReactor = new WalletReactor({ - web3: this.web3, - address: process.env.CHAIN_WALLET_ADDRESS, - }) - this.distributorReactor = new DistributorReactor({ - web3: this.web3, - address: process.env.CHAIN_DISTRIBUTOR_ADDRESS, - }) + new ChainCache() + this.erc20Reactor = new ERC20Reactor() + this.erc721Reactor = new ERC721Reactor() + this.distributorReactor = new DistributorReactor() } - public async getContractInstance(address: string, abi: any) { - if (!this.instanceCacheMap.has(address)) { - const instance = new this.web3.eth.Contract(abi, address, { from: this.accountMaster.address }) - this.instanceCacheMap.set(address, instance) - } - return this.instanceCacheMap.get(address) - } - - public async getTransactionReceipt(txHash: string) { - return this.web3.eth.getTransactionReceipt(txHash) - } - - public async getTxConfirms(txhash: string) { - const receipt: TransactionReceipt = await this.getTransactionReceipt(txhash) - const latest = await this.web3.eth.getBlockNumber() + public async getTxConfirms(chain: number, txhash: string) { + let web3 = new ChainCache().getWeb3(chain) + const receipt: TransactionReceipt = await web3.eth.getTransactionReceipt(txhash) + const latest = await web3.eth.getBlockNumber() return latest - receipt.blockNumber + 1 } - public async updateCurrenBlockNum() { - this.currentBlockNum = await this.web3.eth.getBlockNumber() + public async updateCurrenBlockNum(chain: number) { + let web3 = new ChainCache().getWeb3(chain) + this.currentBlockNum = await web3.eth.getBlockNumber() // logger.debug(`update block num: ${this.currentBlockNum}`) } @@ -81,9 +47,9 @@ export class BlockChain { case TaskType.MINT_NFT: reqData.tokenId = reqData.tokenId || reqData.tokenid if (reqData.tokenId && !reqData.amount) { - abi = await this.erc721Reactor.mint(reqData) + abi = await this.erc721Reactor.mintNFT(reqData) } else { - abi = await this.erc721Reactor.batchMint(reqData) + abi = await this.erc721Reactor.mintBadge(reqData) } break case TaskType.TRANSFER_FT: diff --git a/src/chain/Contracts.ts b/src/chain/Contracts.ts deleted file mode 100644 index 1c7d682..0000000 --- a/src/chain/Contracts.ts +++ /dev/null @@ -1,4553 +0,0 @@ -import { AbiItem } from 'web3-utils' - -export const FT_ABI: AbiItem[] = [ - { - inputs: [ - { - internalType: 'string', - name: 'name_', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol_', - type: 'string', - }, - { - internalType: 'uint8', - name: 'decimals_', - type: 'uint8', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'value', - type: 'uint256', - }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'Paused', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - 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: false, - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'Unpaused', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'MINTER_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'PAUSER_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - ], - name: 'allowance', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'approve', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'subtractedValue', - type: 'uint256', - }, - ], - name: 'decreaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'spender', - type: 'address', - }, - { - internalType: 'uint256', - name: 'addedValue', - type: 'uint256', - }, - ], - name: 'increaseAllowance', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'paused', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transfer', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'pause', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'unpause', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'decimals', - outputs: [ - { - internalType: 'uint8', - name: '', - type: 'uint8', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setPauserRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removePauserRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setMintRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeMintRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, -] - -export const NFT_ABI: AbiItem[] = [ - { - inputs: [ - { - internalType: 'string', - name: 'name_', - type: 'string', - }, - { - internalType: 'string', - name: 'symbol_', - type: 'string', - }, - { - internalType: 'string', - name: 'baseURI_', - type: 'string', - }, - { - internalType: 'uint256', - name: 'totalSupply_', - type: 'uint256', - }, - ], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'approved', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'operator', - type: 'address', - }, - { - indexed: false, - internalType: 'bool', - name: 'approved', - type: 'bool', - }, - ], - name: 'ApprovalForAll', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'configId', - type: 'uint256[]', - }, - ], - name: 'BatchMint', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - { - indexed: false, - internalType: 'uint256', - name: 'configId', - type: 'uint256', - }, - ], - name: 'Mint', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'from', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Transfer', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'MINTER_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'OPERATOR_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'approve', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'baseURI', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'configLimit', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'configSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'detailURI', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'getApproved', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'operator', - type: 'address', - }, - ], - name: 'isApprovedForAll', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'ownerOf', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - { - internalType: 'bytes', - name: 'data', - type: 'bytes', - }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'operator', - type: 'address', - }, - { - internalType: 'bool', - name: 'approved', - type: 'bool', - }, - ], - name: 'setApprovalForAll', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'supplyLimt', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'index', - type: 'uint256', - }, - ], - name: 'tokenByIndex', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'uint256', - name: 'index', - type: 'uint256', - }, - ], - name: 'tokenOfOwnerByIndex', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'configId', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: 'configIds', - type: 'uint256[]', - }, - ], - name: 'batchMint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'tokenURI', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'detail', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256[]', - name: 'configIds', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: 'limits', - type: 'uint256[]', - }, - ], - name: 'setConfigLimit', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setMintRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeMintRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'string', - name: 'baseURI_', - type: 'string', - }, - ], - name: 'setBaseURI', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'string', - name: 'detailURI_', - type: 'string', - }, - ], - name: 'setDetailURI', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, -] - -export const FT_LOCKER_ABI: AbiItem[] = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'token', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'user', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'Lock', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'token', - type: 'address', - }, - { - indexed: false, - internalType: 'string', - name: 'serverId', - type: 'string', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'Release', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'token', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'user', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'UnLock', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'OPERATOR_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'RELEASE_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'UNLOCK_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'lock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'release', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - name: 'unlock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'address', - name: 'user', - type: 'address', - }, - ], - name: 'lockedNum', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setUnlockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeUnlockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setReleaseRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeReleaseRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address[]', - name: 'tokenList', - type: 'address[]', - }, - ], - name: 'addSupportTokenList', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'tokenAddress', - type: 'address', - }, - ], - name: 'removeSupportToken', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, -] - -export const NFT_LOCKER_ABI: AbiItem[] = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'user', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'tokenId', - type: 'uint256[]', - }, - ], - name: 'BatchLock', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'user', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Lock', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - indexed: false, - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'Release', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'user', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'UnLock', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'OPERATOR_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'RELEASE_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'UNLOCK_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - { - internalType: 'bytes', - name: '', - type: 'bytes', - }, - ], - name: 'onERC721Received', - outputs: [ - { - internalType: 'bytes4', - name: '', - type: 'bytes4', - }, - ], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'lock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'unlock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - ], - name: 'batchLock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'release', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'originalOwner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'address', - name: 'user', - type: 'address', - }, - ], - name: 'lockedNum', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'address', - name: 'user', - type: 'address', - }, - ], - name: 'lockedNft', - outputs: [ - { - internalType: 'uint256[]', - name: '', - type: 'uint256[]', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setReleaseRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeReleaseRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setUnlockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeUnlockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address[]', - name: 'nftList', - type: 'address[]', - }, - ], - name: 'addSupportNftList', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'nftAddress', - type: 'address', - }, - ], - name: 'removeSupportNft', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, -] - -export const PRESALE_ABI: AbiItem[] = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'approved', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Approval', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'operator', - type: 'address', - }, - { - indexed: false, - internalType: 'bool', - name: 'approved', - type: 'bool', - }, - ], - name: 'ApprovalForAll', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Lock', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'previousOwner', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'OwnershipTransferred', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'from', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'to', - type: 'address', - }, - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'Transfer', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'UnLock', - type: 'event', - }, - { - inputs: [], - name: 'BURN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'LOCK_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'MINTER_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: '_nftType', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'approve', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - ], - name: 'balanceOf', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'getApproved', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'proxy', - type: 'address', - }, - ], - name: 'grantBurnRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantLockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'address', - name: 'operator', - type: 'address', - }, - ], - name: 'isApprovedForAll', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'isLocked', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'lock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'lockedTokens', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'name', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'owner', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'ownerOf', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'factory', - type: 'address', - }, - ], - name: 'removeMintFactory', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'proxy', - type: 'address', - }, - ], - name: 'revokeBurnProxy', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeLockRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - { - internalType: 'bytes', - name: '_data', - type: 'bytes', - }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'operator', - type: 'address', - }, - { - internalType: 'bool', - name: 'approved', - type: 'bool', - }, - ], - name: 'setApprovalForAll', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'factory', - type: 'address', - }, - ], - name: 'setMintFactory', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'symbol', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'index', - type: 'uint256', - }, - ], - name: 'tokenByIndex', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'uint256', - name: 'index', - type: 'uint256', - }, - ], - name: 'tokenOfOwnerByIndex', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'tokenURI', - outputs: [ - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'totalSupply', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'from', - type: 'address', - }, - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'newOwner', - type: 'address', - }, - ], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'unlock', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'string', - name: 'baseTokenURI', - type: 'string', - }, - ], - name: 'updateBaseURI', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'nftType', - type: 'uint256', - }, - ], - name: 'mintBox', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'owner', - type: 'address', - }, - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'uint256', - name: 'tokenId', - type: 'uint256', - }, - ], - name: 'getNftType', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, -] - -export const NFT_CONTROLLER_ABI: AbiItem[] = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - indexed: false, - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'MintAndRelease', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'NftLockAddress', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'OPERATOR_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'string', - name: '', - type: 'string', - }, - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'releaseRecords', - outputs: [ - { - internalType: 'uint256', - name: 'timeStamp', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'uint256[]', - name: 'tokenIds', - type: 'uint256[]', - }, - { - internalType: 'uint256[]', - name: 'configIds', - type: 'uint256[]', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'mintAndRelease', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_NftLockAddress', - type: 'address', - }, - ], - name: 'setNftLockAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'nft', - type: 'address', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'getReleaseTimes', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, -] - -export const FT_CONTROLLER_ABI: AbiItem[] = [ - { - inputs: [], - stateMutability: 'nonpayable', - type: 'constructor', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'address', - name: 'token', - type: 'address', - }, - { - indexed: false, - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - indexed: false, - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'MintAndRelease', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'previousAdminRole', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'bytes32', - name: 'newAdminRole', - type: 'bytes32', - }, - ], - name: 'RoleAdminChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleGranted', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - indexed: true, - internalType: 'address', - name: 'account', - type: 'address', - }, - { - indexed: true, - internalType: 'address', - name: 'sender', - type: 'address', - }, - ], - name: 'RoleRevoked', - type: 'event', - }, - { - inputs: [], - name: 'DEFAULT_ADMIN_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'FtLockAddress', - outputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [], - name: 'OPERATOR_ROLE', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - ], - name: 'getRoleAdmin', - outputs: [ - { - internalType: 'bytes32', - name: '', - type: 'bytes32', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'grantRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'hasRole', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'string', - name: '', - type: 'string', - }, - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - name: 'releaseRecords', - outputs: [ - { - internalType: 'uint256', - name: 'timeStamp', - type: 'uint256', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'renounceRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes32', - name: 'role', - type: 'bytes32', - }, - { - internalType: 'address', - name: 'account', - type: 'address', - }, - ], - name: 'revokeRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'bytes4', - name: 'interfaceId', - type: 'bytes4', - }, - ], - name: 'supportsInterface', - outputs: [ - { - internalType: 'bool', - name: '', - type: 'bool', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: '', - type: 'address', - }, - { - internalType: 'string', - name: '', - type: 'string', - }, - ], - name: 'totalRelease', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'uint256', - name: 'amount', - type: 'uint256', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'mintAndRelease', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: '_ftLockAddress', - type: 'address', - }, - ], - name: 'setFtLockAddress', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'setOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'to', - type: 'address', - }, - ], - name: 'removeOperatorRole', - outputs: [], - stateMutability: 'nonpayable', - type: 'function', - }, - { - inputs: [ - { - internalType: 'address', - name: 'token', - type: 'address', - }, - { - internalType: 'string', - name: 'serverId', - type: 'string', - }, - ], - name: 'getReleaseTimes', - outputs: [ - { - internalType: 'uint256', - name: '', - type: 'uint256', - }, - ], - stateMutability: 'view', - type: 'function', - constant: true, - }, -] diff --git a/src/chain/DistributorReactor.ts b/src/chain/DistributorReactor.ts index e5e6ac3..f722b25 100644 --- a/src/chain/DistributorReactor.ts +++ b/src/chain/DistributorReactor.ts @@ -1,67 +1,62 @@ -import { Contract } from 'web3-eth-contract' -import Web3 from 'web3' -import { Account } from 'web3-core' +import { ChainCache } from 'cache/ChainCache' +import { GAS_BOOST } from 'common/Constants' const abi = require('abis/NftDistributor.json').abi export class DistributorReactor { - private web3: Web3 - private contract: Contract - private account: Account - constructor({ web3, address }: { web3: Web3; address: string }) { - this.web3 = web3 - this.account = this.web3.eth.accounts.wallet[0] - this.contract = new this.web3.eth.Contract(abi, address, { from: this.account.address }) - } /** * 发布NFT列表 */ async publishAirdropList({ + chain, address, to, nftList, encodeABI = false, }: { - address?: string + chain: number + address: string to: string nftList: string[] encodeABI?: boolean }) { - const contract = address ? new this.web3.eth.Contract(abi, address, { from: this.account.address }) : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abi) if (encodeABI) { - return contract.methods.addNFTData(to, nftList).encodeABI() + return instance.methods.addNFTData(to, nftList).encodeABI() } - let gas = await contract.methods.addNFTData(to, nftList).estimateGas({ from: this.account.address }) - let res = await contract.methods.addNFTData(to, nftList).send({ gas: gas | 0 }) + let gas = await instance.methods.addNFTData(to, nftList).estimateGas({ from: account.address }) + let res = await instance.methods.addNFTData(to, nftList).send({ gas: (gas * GAS_BOOST) | 0 }) return res } /** * mint nft to user */ async mintNft({ + chain, address, to, count, encodeABI = false, }: { + chain: number address?: string to: string count: number encodeABI?: boolean }) { - const contract = address ? new this.web3.eth.Contract(abi, address, { from: this.account.address }) : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abi) const countNft = count + '' if (encodeABI) { - return contract.methods.mintToUser(to, countNft).encodeABI() + return instance.methods.mintToUser(to, countNft).encodeABI() } - let gas = await contract.methods.mintToUser(to, countNft).estimateGas({ from: this.account.address }) - let res = await contract.methods.mintToUser(to, countNft).send({ gas: gas | 0 }) + let gas = await instance.methods.mintToUser(to, countNft).estimateGas({ from: account.address }) + let res = await instance.methods.mintToUser(to, countNft).send({ gas: (gas * GAS_BOOST) | 0 }) return res } /** * 查询用户可mint的数量 */ - async getMintableCount({ address, user }: { address?: string; user: string }) { - const contract = address ? new this.web3.eth.Contract(abi, address, { from: this.account.address }) : this.contract - return await contract.methods.getMintableCount(user).call() + async getMintableCount({ chain, contract, user }: { chain: number; contract?: string; user: string }) { + const { instance } = new ChainCache().getInstances(chain, contract, abi) + return await instance.methods.getMintableCount(user).call() } } diff --git a/src/chain/ERC20Reactor.ts b/src/chain/ERC20Reactor.ts index 8bae98c..6f1cf0f 100644 --- a/src/chain/ERC20Reactor.ts +++ b/src/chain/ERC20Reactor.ts @@ -1,171 +1,54 @@ -import { BN } from 'ethereumjs-util' +import { ChainCache } from 'cache/ChainCache' +import { GAS_BOOST } from 'common/Constants' import Web3 from 'web3' -import { Contract } from 'web3-eth-contract' -import { Account } from 'web3-core' - -const abiFt = require('abis/ERC20.json').abi +const abi = require('abis/ERC20.json').abi export class ERC20Reactor { - private web3: Web3 - private contract: Contract - private account: Account - - constructor({ web3, address }: { web3: Web3; address: string }) { - this.web3 = web3 - this.account = this.web3.eth.accounts.wallet[0] - this.contract = new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) - } - - /** - * Get balance or count for current account on specific asset contract. - * - * @param address - Asset ERC20 contract address. - * @param selectedAddress - Current account public address. - * @returns Promise resolving to BN object containing balance for current account on specific asset contract. - */ - async getBalanceOf({ address, selectedAddress }: { address?: string; selectedAddress: string }): Promise { - const contract = address - ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.balanceOf(selectedAddress).call({ from: selectedAddress }, (error: Error, result: BN) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query for the decimals for a given ERC20 asset. - * - * @param address - ERC20 asset contract string. - * @returns Promise resolving to the 'decimals'. - */ - async getTokenDecimals(address?: string): Promise { - const contract = address - ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.decimals().call((error: Error, result: BN | string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result.toString()) - }) - }) - } - - /** - * Query for symbol for a given ERC20 asset. - * - * @param address - ERC20 asset contract address. - * @returns Promise resolving to the 'symbol'. - */ - async getTokenSymbol(address?: string): Promise { - const contract = address - ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.symbol().call((error: Error, result: BN | string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result.toString()) - }) - }) - } - /** - * Query if a contract implements an interface. - * - * @param address - Asset contract address. - * @param userAddress - The public address for the currently active user's account. - * @returns Promise resolving an object containing the standard, decimals, symbol and balance of the given contract/userAddress pair. - */ - async getDetails({ address, userAddress }: { address?: string; userAddress: string }): Promise<{ - standard: string - symbol: string | undefined - decimals: string | undefined - balance: BN | undefined - }> { - const [decimals, symbol] = await Promise.all([this.getTokenDecimals(address), this.getTokenSymbol(address)]) - let balance - if (userAddress) { - balance = await this.getBalanceOf({ address, selectedAddress: userAddress }) - } - return { - decimals, - symbol, - balance, - standard: 'ERC20', - } - } - async transfer({ + chain, address, from, to, amount, - account, - gas, encodeABI = false, }: { + chain: number address: string from: string to: string - account?: string amount: number | string - gas?: number encodeABI: boolean }) { - const contract = new this.web3.eth.Contract(abiFt, address, { from: account || this.account.address }) + const { instance, account } = new ChainCache().getInstances(chain, address, abi) const amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) if (encodeABI) { - return contract.methods.transfer(to, amountBN).encodeABI() + return instance.methods.transfer(to, amountBN).encodeABI() } - return contract.methods.transferFrom(from, to, amountBN).send({ - gas: gas || 1000000, + let gas = await instance.methods.transferFrom(from, to, amountBN).estimateGas({ from: account.address }) + return instance.methods.transferFrom(from, to, amountBN).send({ + gas: (gas * GAS_BOOST) | 0, }) } async mint({ + chain, address, to, amount, - account, encodeABI = false, }: { - account?: string + chain: number address?: string to: string amount: string encodeABI: boolean }) { - const contract = address - ? new this.web3.eth.Contract(abiFt, address, { from: account || this.account.address }) - : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abi) let amountBN = Web3.utils.toBN(Web3.utils.toWei(amount + '')) if (encodeABI) { - return contract.methods.mint(to, amountBN).encodeABI() + return instance.methods.mint(to, amountBN).encodeABI() } - let gas = await contract.methods.mint(to, amountBN).estimateGas({ gas: 1000000 }) - return contract.methods.mint(to, amountBN).send({ gas: (gas * 1.5) | 0 }) - } - - async getPastEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - const contract = address - ? new this.web3.eth.Contract(abiFt, address, { from: this.account.address }) - : this.contract - return contract.getPastEvents('Transfer', { - fromBlock, - toBlock: fromBlock + 50000, - }) + let gas = await instance.methods.mint(to, amountBN).estimateGas({ from: account.address }) + return instance.methods.mint(to, amountBN).send({ gas: (gas * GAS_BOOST) | 0 }) } } diff --git a/src/chain/ERC721Reactor.ts b/src/chain/ERC721Reactor.ts index 7b84412..a7782b8 100644 --- a/src/chain/ERC721Reactor.ts +++ b/src/chain/ERC721Reactor.ts @@ -1,379 +1,76 @@ -import { timeoutFetch } from 'utils/net.util' -import { getFormattedIpfsUrl } from 'utils/wallet.util' -import Web3 from 'web3' -import { Contract } from 'web3-eth-contract' -import { Account } from 'web3-core' +import { ChainCache } from 'cache/ChainCache' +import { GAS_BOOST } from 'common/Constants' -export const ERC721 = 'ERC721' -export const ERC721_INTERFACE_ID = '0x80ac58cd' -export const ERC721_METADATA_INTERFACE_ID = '0x5b5e139f' -export const ERC721_ENUMERABLE_INTERFACE_ID = '0x780e9d63' - -const abiNft = require('abis/BEBadge.json').abi +const abiBadge = require('abis/BEBadge.json').abi +const abiNFT = require('abis/NFT.json').abi export class ERC721Reactor { - private web3: Web3 - private contract: Contract - private account: Account - - constructor({ web3, address }: { web3: Web3; address: string }) { - this.web3 = web3 - this.account = this.web3.eth.accounts.wallet[0] - this.contract = new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - } - - /** - * Query if contract implements ERC721Metadata interface. - * - * @param address - ERC721 asset contract address. - * @returns Promise resolving to whether the contract implements ERC721Metadata interface. - */ - contractSupportsMetadataInterface = async (address?: string): Promise => { - return this.contractSupportsInterface({ address, interfaceId: ERC721_METADATA_INTERFACE_ID }) - } - - /** - * Query if contract implements ERC721Enumerable interface. - * - * @param address - ERC721 asset contract address. - * @returns Promise resolving to whether the contract implements ERC721Enumerable interface. - */ - contractSupportsEnumerableInterface = async (address?: string): Promise => { - return this.contractSupportsInterface({ address, interfaceId: ERC721_ENUMERABLE_INTERFACE_ID }) - } - - /** - * Query if contract implements ERC721 interface. - * - * @param address - ERC721 asset contract address. - * @returns Promise resolving to whether the contract implements ERC721 interface. - */ - contractSupportsBase721Interface = async (address?: string): Promise => { - return this.contractSupportsInterface({ address, interfaceId: ERC721_INTERFACE_ID }) - } - - /** - * Enumerate assets assigned to an owner. - * - * @param address - ERC721 asset contract address. - * @param selectedAddress - Current account public address. - * @param index - A collectible counter less than `balanceOf(selectedAddress)`. - * @returns Promise resolving to token identifier for the 'index'th asset assigned to 'selectedAddress'. - */ - getCollectibleTokenId = async ({ - address, - selectedAddress, - index, - }: { - address?: string - selectedAddress: string - index: number - }): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.tokenOfOwnerByIndex(selectedAddress, index).call((error: Error, result: string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - getBalance = async ({ address, selectedAddress }: { address?: string; selectedAddress: string }): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.balanceOf(selectedAddress).call((error: Error, result: number) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query for tokenURI for a given asset. - * - * @param address - ERC721 asset contract address. - * @param tokenId - ERC721 asset identifier. - * @returns Promise resolving to the 'tokenURI'. - */ - getTokenURI = async ({ address, tokenId }: { address?: string; tokenId: string }): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - const supportsMetadata = await this.contractSupportsMetadataInterface(address) - if (!supportsMetadata) { - throw new Error('Contract does not support ERC721 metadata interface.') - } - return new Promise((resolve, reject) => { - contract.methods.tokenURI(tokenId).call((error: Error, result: string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query for name for a given asset. - * - * @param address - ERC721 asset contract address. - * @returns Promise resolving to the 'name'. - */ - getAssetName = async (address?: string): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.name().call((error: Error, result: string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query for symbol for a given asset. - * - * @param address - ERC721 asset contract address. - * @returns Promise resolving to the 'symbol'. - */ - getAssetSymbol = async (address?: string): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.symbol().call((error: Error, result: string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query for owner for a given ERC721 asset. - * - * @param address - ERC721 asset contract address. - * @param tokenId - ERC721 asset identifier. - * @returns Promise resolving to the owner address. - */ - async getOwnerOf({ address, tokenId }: { address?: string; tokenId: string }): Promise { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.ownerOf(tokenId).call((error: Error, result: string) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query if a contract implements an interface. - * - * @param address - Asset contract address. - * @param interfaceId - Interface identifier. - * @returns Promise resolving to whether the contract implements `interfaceID`. - */ - private contractSupportsInterface = async ({ - address, - interfaceId, - }: { - address?: string - interfaceId: string - }): Promise => { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return new Promise((resolve, reject) => { - contract.methods.supportsInterface(interfaceId).call((error: Error, result: boolean) => { - /* istanbul ignore if */ - if (error) { - reject(error) - return - } - resolve(result) - }) - }) - } - - /** - * Query if a contract implements an interface. - * - * @param address - Asset contract address. - * @param ipfsGateway - The user's preferred IPFS gateway. - * @param tokenId - tokenId of a given token in the contract. - * @returns Promise resolving an object containing the standard, tokenURI, symbol and name of the given contract/tokenId pair. - */ - getDetails = async ({ - address, - ipfsGateway, - tokenId, - }: { - address?: string - ipfsGateway: string - tokenId?: string - }): Promise<{ - standard: string - tokenURI: string | undefined - symbol: string | undefined - name: string | undefined - image: string | undefined - }> => { - const isERC721 = await this.contractSupportsBase721Interface(address) - if (!isERC721) { - throw new Error("This isn't a valid ERC721 contract") - } - - let tokenURI, image, symbol, name - - // TODO upgrade to use Promise.allSettled for name/symbol when we can refactor to use es2020 in tsconfig - try { - symbol = await this.getAssetSymbol(address) - } catch { - // ignore - } - - try { - name = await this.getAssetName(address) - } catch { - // ignore - } - - if (tokenId) { - try { - tokenURI = await this.getTokenURI({ address, tokenId }) - if (tokenURI.startsWith('ipfs://')) { - tokenURI = getFormattedIpfsUrl(ipfsGateway, tokenURI, true) - } - - const response = await timeoutFetch(tokenURI) - const object = await response.json() - image = object ? object.image : '' - if (image.startsWith('ipfs://')) { - image = getFormattedIpfsUrl(ipfsGateway, image, true) - } - } catch { - // ignore - } - } - - return { - standard: ERC721, - tokenURI, - symbol, - name, - image, - } - } - async transfer({ + chain, address, from, to, tokenId, - account, - gas, encodeABI = false, }: { + chain: number address?: string from: string to: string tokenId: string - account?: string - gas?: number encodeABI?: boolean }) { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: account || this.account.address }) - : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abiNFT) if (encodeABI) { - return contract.methods.safeTransferFrom(from, to, tokenId).encodeABI() + return instance.methods.safeTransferFrom(from, to, tokenId).encodeABI() } - return contract.methods.safeTransferFrom(from, to, tokenId).send({ - from, - gas: gas || 1000000, + let gas = await instance.methods.safeTransferFrom(from, to, tokenId).estimateGas({ from: account.address }) + return instance.methods.safeTransferFrom(from, to, tokenId).send({ + gas: (gas * GAS_BOOST) | 0, }) } - async mint({ + async mintNFT({ + chain, address, to, - tokenId, + tokenIds, encodeABI = false, }: { + chain: number address?: string to: string - tokenId: string + tokenIds: string[] encodeABI?: boolean }) { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abiNFT) + if (encodeABI) { - return contract.methods.mint(to, tokenId).encodeABI() + return instance.methods.batchMint(to, tokenIds).encodeABI() } - let gas = await contract.methods.mint(to, tokenId).estimateGas({ gas: 1000000 }) - return contract.methods.mint(to, tokenId).send({ gas: (gas * 1.5) | 0 }) + let gas = await instance.methods.batchMint(to, tokenIds).estimateGas({ from: account.address }) + return instance.methods.batchMint(to, tokenIds).send({ gas: (gas * GAS_BOOST) | 0 }) } - async batchMint({ - account, + async mintBadge({ + chain, address, to, count, encodeABI = false, }: { - account?: string + chain: number address?: string to: string count: number encodeABI?: boolean }) { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: account || this.account.address }) - : this.contract + const { instance, account } = new ChainCache().getInstances(chain, address, abiBadge) const countStr = count + '' if (encodeABI) { - return contract.methods.batchMint(to, countStr).encodeABI() + return instance.methods.batchMint(to, countStr).encodeABI() } - let gas = await contract.methods.batchMint(to, countStr).estimateGas({ from: account || this.account.address }) - return contract.methods.batchMint(to, countStr).send({ gas: (gas * 1.5) | 0 }) - } - - async getPastEvents({ address, fromBlock }: { address?: string; fromBlock: number }) { - const contract = address - ? new this.web3.eth.Contract(abiNft, address, { from: this.account.address }) - : this.contract - return contract.getPastEvents('BatchMint', { - fromBlock, - toBlock: fromBlock + 50000, - }) + let gas = await instance.methods.batchMint(to, countStr).estimateGas({ from: account.address }) + return instance.methods.batchMint(to, countStr).send({ gas: (gas * GAS_BOOST) | 0 }) } } diff --git a/src/chain/WalletReactor.ts b/src/chain/WalletReactor.ts index 53c479b..47a2589 100644 --- a/src/chain/WalletReactor.ts +++ b/src/chain/WalletReactor.ts @@ -3,6 +3,7 @@ import Web3 from 'web3' import { Account } from 'web3-core' import { ZERO_BYTES32 } from 'common/Constants' import { generateRandomBytes32 } from 'utils/wallet.util' +import { ChainCache } from 'cache/ChainCache' const abi = require('abis/BEMultiSigWallet.json').abi /** @@ -131,13 +132,17 @@ export class WalletReactor { return Promise.all(promises) } - async updateRequired(num: number) { - let contractAddress = [process.env.CHAIN_WALLET_ADDRESS] + async updateRequired(chain: number, num: number) { + let cfg = new ChainCache().chainArray.find(o => o.id === chain) + if (!cfg) { + throw new Error('chain not support') + } + let contractAddress = cfg.wallet let values = ['0'] let abi = await this.contract.methods.changeRequirement(num + '').encodeABI() let salt = generateRandomBytes32() let operation: any = this.genOperation({ - targets: contractAddress, + targets: [contractAddress], values, datas: [abi], predecessor: ZERO_BYTES32, diff --git a/src/chain/allchain.ts b/src/chain/allchain.ts new file mode 100644 index 0000000..6c710cf --- /dev/null +++ b/src/chain/allchain.ts @@ -0,0 +1,308 @@ +export const AllChains = [ + { + name: 'Ethereum Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.ankr.com/eth', + id: 1, + symbol: 'ETH', + explorerurl: 'https://etherscan.io', + }, + { + name: 'Ethereum Ropsten Testnet RPC', + type: 'Testnet', + rpc: 'https://ropsten.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + id: 3, + symbol: 'ETH', + explorerurl: 'https://ropsten.etherscan.io', + }, + { + name: 'Ethereum Rinkeby Testnet RPC', + type: 'Testnet', + rpc: 'https://rinkey.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + id: 4, + symbol: 'ETH', + explorerurl: 'https://rinkey.etherscan.io', + }, + { + name: 'Ethereum Goerli Testnet RPC', + type: 'Testnet', + rpc: 'https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + id: 5, + symbol: 'ETH', + explorerurl: 'https://goerli.etherscan.io', + }, + { + name: 'Ethereum Kovan Testnet RPC', + type: 'Testnet', + rpc: 'https://kovan.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + id: 6, + symbol: 'ETH', + explorerurl: 'https://kovan.etherscan.io', + }, + { + name: 'Ubiq Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.octano.dev/', + id: 8, + symbol: 'UBQ', + explorerurl: 'https://ubiqscan.io/', + }, + { + name: 'Elastos ETH Mainnet RPC', + type: 'Mainnet', + rpc: 'https://api.elastos.io/eth', + id: 20, + symbol: 'ELA', + explorerurl: 'https://explorer.elaeth.io/', + }, + { + name: 'Cronos Mainnet RPC', + type: 'Mainnet', + rpc: 'https://evm-cronos.crypto.org', + id: 25, + symbol: 'CRO', + explorerurl: 'https://cronos.crypto.org/explorer/', + }, + { + name: 'Telos EVM Mainnet RPC', + type: 'Mainnet', + rpc: 'https://mainnet.telos.net/evm', + id: 40, + symbol: 'TLOS', + explorerurl: 'https://telos.net/', + }, + { + name: 'Binance Smart Chain', + type: 'Mainnet', + rpc: 'https://rpc.ankr.com/bsc', + id: 56, + symbol: 'BNB', + explorerurl: 'https://bscscan.com', + }, + { + name: 'OKExChain Mainnet RPC', + type: 'Mainnet', + rpc: 'https://exchainrpc.okex.org', + id: 66, + symbol: 'OKT', + explorerurl: 'https://www.oklink.com/okexchain', + }, + { + name: 'Hoo Mainnet RPC', + type: 'Mainnet', + rpc: 'https://http-mainnet.hoosmartchain.com', + id: 70, + symbol: 'HOO', + explorerurl: 'https://hooscan.com', + }, + { + name: 'Binance Testnet', + type: 'Testnet', + rpc: 'https://data-seed-prebsc-1-s1.binance.org:8545/', + id: 97, + symbol: 'BNB', + explorerurl: 'https://testnet.bscscan.com', + }, + { + name: 'xDai Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.xdaichain.com/', + id: 100, + symbol: 'XDAI', + explorerurl: 'https://blockscout.com/xdai/mainnet/', + }, + { + name: 'Fuse Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.fuse.io', + id: 122, + symbol: 'FUSE', + explorerurl: 'https://explorer.fuse.io/', + }, + { + name: 'HECO Mainnet RPC', + type: 'Mainnet', + rpc: 'https://http-mainnet-node.huobichain.com/', + id: 128, + symbol: 'HT', + explorerurl: 'https://hecoinfo.com/', + }, + { + name: 'Matic Mainnet RPC', + type: 'Mainnet', + rpc: 'https://polygon-rpc.com', + id: 137, + symbol: 'MATIC', + explorerurl: 'https://explorer.matic.network/', + }, + { + name: 'Fantom Opera Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.ftm.tools/', + id: 250, + symbol: 'FTM', + explorerurl: 'https://ftmscan.com', + }, + { + name: 'HECO Testnet RPC', + type: 'Testnet', + rpc: 'https://http-testnet.hecochain.com', + id: 256, + symbol: 'HT', + explorerurl: 'https://testnet.hecoinfo.com/', + }, + { + name: 'KCC Mainnet', + type: 'Mainnet', + rpc: 'https://rpc-mainnet.kcc.network', + id: 321, + symbol: 'KCS', + explorerurl: 'https://scan.kcc.network', + }, + { + name: 'KCC Testnet', + type: 'Testnet', + rpc: 'https://rpc-testnet.kcc.network', + id: 322, + symbol: 'tKCS', + explorerurl: 'https://scan-testnet.kcc.network', + }, + { + name: 'Moonriver Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.moonriver.moonbeam.network', + id: 1285, + symbol: 'MOVR', + explorerurl: 'https://blockscout.moonriver.moonbeam.network/', + }, + { + name: 'Fantom Testnet RPC', + type: 'Testnet', + rpc: 'https://rpc.testnet.fantom.network/', + id: 4002, + symbol: 'FTM', + explorerurl: 'https://testnet.ftmscan.com', + }, + { + name: 'IoTeX Mainnet RPC', + type: 'Mainnet', + rpc: 'https://babel-api.mainnet.iotex.io', + id: 4689, + symbol: 'IOTEX', + explorerurl: 'https://iotexscan.io/', + }, + { + name: 'Nahmii Mainnet RPC', + type: 'Mainnet', + rpc: 'https://l2.nahmii.io/', + id: 5551, + symbol: 'ETH', + explorerurl: 'https://explorer.nahmii.io/', + }, + { + name: 'Nahmii Testnet RPC', + type: 'Testnet', + rpc: 'https://l2.testnet.nahmii.io/', + id: 5553, + symbol: 'ETH', + explorerurl: 'https://explorer.testnet.nahmii.io/', + }, + { + name: 'Arbitrum One', + type: 'Mainnet', + rpc: 'https://endpoints.omniatech.io/v1/arbitrum/one/public|https://rpc.ankr.com/arbitrum', + id: 42161, + network: 'ARBITRUM', + symbol: 'ETH', + explorerurl: 'https://arbiscan.io/', + }, + { + name: 'Celo Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.ankr.com/celo', + id: 42220, + symbol: 'CELO', + explorerurl: 'https://celoscan.com', + }, + { + name: 'Avalanche C Chain Local RPC', + type: 'Testnet', + rpc: 'https://localhost:9650/ext/bc/C/rpc', + id: 43112, + symbol: 'AVAX', + explorerurl: 'https://snowtrace.io', + }, + { + name: 'Avalanche FUJI Testnet RPC', + type: 'Testnet', + rpc: 'https://api.avax-test.network/ext/bc/C/rpc', + id: 43113, + symbol: 'AVAX', + explorerurl: 'https://testnet.explorer.avax.network/', + }, + { + name: 'Avalanche C Chain Mainnet RPC', + type: 'Mainnet', + rpc: 'https://rpc.ankr.com/avalanche', + id: 43114, + symbol: 'AVAX', + explorerurl: 'https://snowtrace.io', + }, + { + name: 'Matic Testnet RPC', + type: 'Testnet', + rpc: 'https://rpc-mumbai.maticvigil.com|https://matic-mumbai.chainstacklabs.com|https://polygon-testnet.public.blastapi.io|https://rpc.ankr.com/polygon_mumbai', + id: 80001, + symbol: 'MATIC', + explorerurl: 'https://mumbai.polygonscan.com/', + }, + { + name: 'Arbitrum Goerli', + type: 'Testnet', + rpc: 'https://goerli-rollup.arbitrum.io/rpc|https://endpoints.omniatech.io/v1/arbitrum/goerli/public', + id: 421613, + network: 'AGOR', + symbol: 'AGOR', + explorerurl: 'https://goerli-rollup-explorer.arbitrum.io', + }, + { + name: 'zkSync Era Mainnet', + type: 'Mainnet', + rpc: 'https://mainnet.era.zksync.io', + id: 324, + symbol: 'ETH', + explorerurl: 'https://explorer.zksync.io', + }, + { + name: 'zkSync Era Testnet', + type: 'Testnet', + rpc: 'https://testnet.era.zksync.dev', + id: 280, + symbol: 'ETH', + explorerurl: 'https://goerli.explorer.zksync.io', + }, + { + name: 'Harmony Mainnet RPC', + type: 'Mainnet', + rpc: 'https://api.harmony.one/', + id: 1666600000, + symbol: 'ONE', + explorerurl: 'https://explorer.harmony.one', + }, + { + name: 'Harmony Testnet RPC', + type: 'Testnet', + rpc: 'https://api.s0.b.hmny.io/', + id: 1666700000, + symbol: 'ONE', + explorerurl: 'https://explorer.harmony.one', + }, + { + name: 'Local Testnet', + type: 'Local', + rpc: 'https://login-test.kingsome.cn/rpc', + id: 1338, + symbol: 'ETH', + explorerurl: 'https://explorer.harmony.one', + }, +] diff --git a/src/common/Constants.ts b/src/common/Constants.ts index f289d97..308cd91 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -2,7 +2,12 @@ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' export const ZERO_BYTES32 = '0x0000000000000000000000000000000000000000000000000000000000000000' -export const MAX_BATCH_REQ_COUNT = 50 +// 多签钱包单次最大请求数量 +export const MAX_BATCH_REQ_COUNT = 500 +// 空投单次最大请求数量 +export const MAX_AIRDROP_COUNT = 500 + +export const GAS_BOOST = 1.2 export const CONFIRM_MAIL_HTML = `

{{title}}

diff --git a/src/config/events.json b/src/config/events.json deleted file mode 100644 index 26b1c1a..0000000 --- a/src/config/events.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "address": "0xfeFc3aab779863c1624eE008aba485c53805dCeb", - "event": "Confirmation", - "abi": "BEMultiSigWallet", - "fromBlock": 34804697, - "eventProcesser": "ScheduleConfirmEvent" - } -] diff --git a/src/config/nfttypes.json b/src/config/nfttypes.json deleted file mode 100644 index 624e5cb..0000000 --- a/src/config/nfttypes.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "0xfa44C759f0D51e749ba591a79b3f7F16a4d41CEC": 104 -} diff --git a/src/controllers/workflow.controller.ts b/src/controllers/workflow.controller.ts index 4adf932..d71af84 100644 --- a/src/controllers/workflow.controller.ts +++ b/src/controllers/workflow.controller.ts @@ -8,6 +8,7 @@ import { BlockChain } from 'chain/BlockChain' import { ChainTask } from 'models/ChainTask' import { isObjectId } from 'utils/string.util' import { WechatWorkService } from 'service/wechatwork.service' +import { ChainCache } from 'cache/ChainCache' class WorkFlowController extends BaseController { @role(ROLE_ANON) @@ -75,7 +76,8 @@ class WorkFlowController extends BaseController { let tasks = requestTasks.map(o => { return { scheduleId: o.scheduleId, reqDatas: o.reqDatas } }) - let address = process.env.CHAIN_WALLET_ADDRESS + let cfg = new ChainCache().chainArray.find(o => o.id === chainTask.chain) + let address = cfg.wallet let types = Object.fromEntries(TaskTypeMap) return { chainTask: taskObj, @@ -88,13 +90,16 @@ class WorkFlowController extends BaseController { @role(ROLE_ANON) @router('get /workflow/update_required') async updateRequired(req, res) { - let result = await new BlockChain().walletReactor.updateRequired(1) + let { chain } = req.params + chain = parseInt(chain) + let result = await new ChainCache().getWallet(chain).updateRequired(chain, 1) return result } @role(ROLE_ANON) @router('post /workflow/update_required') async execUpdateRequired(req, res) { + let { chain } = req.params let data = { scheduleId: '0xa5c35368cd44dbe805a4595d6813ed3afefa1bf667209dc8d63f99cdec117f58', targets: ['0xc195196351566d2c4e13563C4492fB0BdB7894Fb'], @@ -103,7 +108,7 @@ class WorkFlowController extends BaseController { predecessor: '0x0000000000000000000000000000000000000000000000000000000000000000', salt: '0x39383830353131363736333036', } - let result = await new BlockChain().walletReactor.executeSchedule(data) + let result = await new ChainCache().getWallet(chain).executeSchedule(data) return result } diff --git a/src/models/ChainTask.ts b/src/models/ChainTask.ts index 8fa02fa..878ab73 100644 --- a/src/models/ChainTask.ts +++ b/src/models/ChainTask.ts @@ -30,6 +30,8 @@ export class ChainTaskClass extends BaseModule { @prop({ required: true }) public taskId!: string @prop() + public chain: number + @prop() public name: string @prop() public desc: string @@ -142,10 +144,9 @@ export class ChainTaskClass extends BaseModule { /** * 解析企业微信审批信息 */ - // TODO:: mint nft 处理原始数据, 如果传入的是amount, 那么根据规则生成tokenid - public static async parseWxApprovalInfo({ taskId, name, desc, data, starter, starterName }) { + public static async parseWxApprovalInfo({ taskId, name, desc, data, starter, starterName, chain }) { let maxTryCount = parseInt(process.env.CHAIN_MAX_TRY) - let chainTask = await ChainTask.insertOrUpdate({ taskId }, { name, desc, starter, starterName, data }) + let chainTask = await ChainTask.insertOrUpdate({ taskId }, { name, desc, starter, starterName, data, chain }) let subTasks: any = [] if (chainTask.newRecord) { let subTask @@ -156,6 +157,7 @@ export class ChainTaskClass extends BaseModule { subTask = new RequestTask({ taskId, index, + chain, chainTaskId: chainTask.id, reqDatas: [], maxTryCount, diff --git a/src/models/RequestTask.ts b/src/models/RequestTask.ts index 24c7ce7..1e92cce 100644 --- a/src/models/RequestTask.ts +++ b/src/models/RequestTask.ts @@ -3,6 +3,7 @@ import { BlockChain } from 'chain/BlockChain' import { dbconn } from 'decorators/dbconn' import logger from 'logger/logger' import { BaseModule } from './Base' +import { ChainCache } from 'cache/ChainCache' export enum TaskType { UNKNOW = 0, @@ -11,6 +12,8 @@ export enum TaskType { TRANSFER_FT = 3, TRANSFER_NFT = 4, PUBLISH_AIRDROP_LIST = 5, + AIRDROP_NFT_ACTIVITY = 6, + AIRDROP_NFT_INGAME = 7, } export const TaskTypeMap = new Map([ @@ -20,6 +23,8 @@ export const TaskTypeMap = new Map([ [TaskType.TRANSFER_FT, 'Ft转账'], [TaskType.TRANSFER_NFT, 'NFT转账'], [TaskType.PUBLISH_AIRDROP_LIST, '公布空投名单'], + [TaskType.AIRDROP_NFT_ACTIVITY, '空投活动NFT'], + [TaskType.AIRDROP_NFT_INGAME, '空投游戏中的NFT'], ]) export enum ReqTaskStatus { @@ -47,6 +52,9 @@ export class RequestTaskClass extends BaseModule { @prop({ required: true }) public chainTaskId!: string + @prop() + public chain: number + @prop({ default: 0 }) public index: number @@ -120,7 +128,7 @@ export class RequestTaskClass extends BaseModule { let self = this self.blockReq = new BlockChain().currentBlockNum await self.save() - let result = await new BlockChain().walletReactor.beginSchedule(self, 60) + let result = await new ChainCache().getWallet(self.chain).beginSchedule(self, 60) logger.info(result) let { transactionHash } = result self.txHash = transactionHash @@ -130,7 +138,7 @@ export class RequestTaskClass extends BaseModule { public async execSchdule(this: DocumentType) { let self = this - let result = await new BlockChain().walletReactor.executeSchedule(self) + let result = await new ChainCache().getWallet(self.chain).executeSchedule(self) logger.info('schedule exec result:') logger.info(result) let { transactionHash } = result diff --git a/src/models/ScheduleConfirmEvent.ts b/src/models/ScheduleConfirmEvent.ts index 8922f0c..b470877 100644 --- a/src/models/ScheduleConfirmEvent.ts +++ b/src/models/ScheduleConfirmEvent.ts @@ -5,7 +5,7 @@ import { TaskSvr } from 'service/task.service' import { BaseModule } from './Base' @dbconn() -@index({ transactionHash: 1 }, { unique: true }) +@index({ chain: 1, transactionHash: 1 }, { unique: true }) @modelOptions({ schemaOptions: { collection: 'schedule_confirm_event', timestamps: true }, }) @@ -13,6 +13,8 @@ export class ScheduleConfirmEventClass extends BaseModule { @prop({ required: true }) public address!: string @prop() + public chain: number + @prop() public event: string @prop({ required: true }) public transactionHash: string @@ -48,7 +50,10 @@ export class ScheduleConfirmEventClass extends BaseModule { $inc: { version: 1 }, } - let record = await ScheduleConfirmEvent.insertOrUpdate({ transactionHash: event.transactionHash }, data) + let record = await ScheduleConfirmEvent.insertOrUpdate( + { transactionHash: event.transactionHash, chain: event.chain }, + data, + ) if (record.version === 1) { logger.log('receive events: ' + JSON.stringify(record.scheduleIds)) for (let id of record.scheduleIds) { diff --git a/src/models/ScheduleExecutedEvent.ts b/src/models/ScheduleExecutedEvent.ts index 71b2105..5904a90 100644 --- a/src/models/ScheduleExecutedEvent.ts +++ b/src/models/ScheduleExecutedEvent.ts @@ -3,7 +3,7 @@ import { dbconn } from 'decorators/dbconn' import { BaseModule } from './Base' @dbconn() -@index({ transactionHash: 1, scheduleId: 1 }, { unique: true }) +@index({ chain: 1, transactionHash: 1, scheduleId: 1 }, { unique: true }) @modelOptions({ schemaOptions: { collection: 'schedule_executed_event', timestamps: true }, }) @@ -11,6 +11,8 @@ export class ScheduleExecutedEventClass extends BaseModule { @prop({ required: true }) public address!: string @prop() + public chain: number + @prop() public event: string @prop({ required: true }) public transactionHash: string @@ -45,7 +47,7 @@ export class ScheduleExecutedEventClass extends BaseModule { } let record = await ScheduleExecutedEvent.insertOrUpdate( - { transactionHash: event.transactionHash, scheduleId: event.returnValues.id }, + { transactionHash: event.transactionHash, scheduleId: event.returnValues.id, chain: event.chain }, data, ) if (record.version === 1) { diff --git a/src/models/ScheduledAddedEvent.ts b/src/models/ScheduledAddedEvent.ts index bb684a3..734d8f5 100644 --- a/src/models/ScheduledAddedEvent.ts +++ b/src/models/ScheduledAddedEvent.ts @@ -3,7 +3,7 @@ import { dbconn } from 'decorators/dbconn' import { BaseModule } from './Base' @dbconn() -@index({ transactionHash: 1, scheduleId: 1 }, { unique: true }) +@index({ chain: 1, transactionHash: 1, scheduleId: 1 }, { unique: true }) @modelOptions({ schemaOptions: { collection: 'schedule_added_event', timestamps: true }, }) @@ -11,6 +11,8 @@ export class ScheduledAddedEventClass extends BaseModule { @prop({ required: true }) public address!: string @prop() + public chain: number + @prop() public event: string @prop({ required: true }) public transactionHash: string @@ -45,7 +47,7 @@ export class ScheduledAddedEventClass extends BaseModule { } return ScheduledAddedEvent.insertOrUpdate( - { transactionHash: event.transactionHash, scheduleId: event.returnValues.id }, + { transactionHash: event.transactionHash, scheduleId: event.returnValues.id, chain: event.chain }, data, ) } diff --git a/src/monitor.ts b/src/monitor.ts index 226ad42..c14da14 100644 --- a/src/monitor.ts +++ b/src/monitor.ts @@ -21,12 +21,13 @@ let eventProcessers = { ScheduleExecutedEvent: ScheduleExecutedEvent, } -const events = require('config/events.json') +const events = require('../config/events.json') async function initEventSvrs() { // let nfts = [{ address: '0x37c30a2945799a53c5358636a721b442458fa691' }] for (let event of events) { let eventSvr = new EventSyncSvr({ + chain: event.chain, address: event.address, event: event.event, abi: require('abis/' + event.abi + '.json').abi, diff --git a/src/queue/chain.queue.ts b/src/queue/chain.queue.ts index 47c4aab..aec7918 100644 --- a/src/queue/chain.queue.ts +++ b/src/queue/chain.queue.ts @@ -5,12 +5,13 @@ import { ReqTaskStatus, RequestTaskClass } from 'models/RequestTask' import { BlockChain } from 'chain/BlockChain' import { ChainTask } from 'models/ChainTask' import logger from 'logger/logger' +import { ChainCache } from 'cache/ChainCache' const EXCLUDE_STATUS = [ - ReqTaskStatus.SUCCESS, - ReqTaskStatus.WAIT_EXEC, - ReqTaskStatus.WAIT_EXEC_CONFIRM, - ReqTaskStatus.EXEC_REVERT, + 5, //ReqTaskStatus.SUCCESS, + 3, //ReqTaskStatus.WAIT_EXEC, + 4, //ReqTaskStatus.WAIT_EXEC_CONFIRM, + 9, //ReqTaskStatus.EXEC_REVERT, ] @singleton export class ChainQueue { @@ -37,7 +38,7 @@ export class ChainQueue { await subTask.save() } if (subTask.status === ReqTaskStatus.WAIT_CONFIRM) { - this.blockChain.confirmQueue.addTaskToQueue(subTask) + new ChainCache().getConfirmQueue(subTask.chain).addTaskToQueue(subTask) return } @@ -61,7 +62,7 @@ export class ChainQueue { this.addTaskToQueue(subTask) return } - this.blockChain.confirmQueue.addTaskToQueue(subTask) + new ChainCache().getConfirmQueue(subTask.chain).addTaskToQueue(subTask) } catch (err) { subTask.errMsg.push(err) await subTask.save() diff --git a/src/queue/exec.queue.ts b/src/queue/exec.queue.ts index bc01420..aaae173 100644 --- a/src/queue/exec.queue.ts +++ b/src/queue/exec.queue.ts @@ -5,13 +5,14 @@ import logger from 'logger/logger' import { ReqTaskStatus, RequestTaskClass } from 'models/RequestTask' import { DocumentType } from '@typegoose/typegoose' import { ChainTask } from 'models/ChainTask' +import { ChainCache } from 'cache/ChainCache' const EXCLUDE_STATUS = [ - ReqTaskStatus.NOTSTART, - ReqTaskStatus.SUCCESS, - ReqTaskStatus.PEDING, - ReqTaskStatus.WAIT_CONFIRM, - ReqTaskStatus.SCHEDULE_REVERT, + 0, //ReqTaskStatus.NOTSTART, + 5, //ReqTaskStatus.SUCCESS, + 1, //ReqTaskStatus.PEDING, + 2, //ReqTaskStatus.WAIT_CONFIRM, + 8, //ReqTaskStatus.SCHEDULE_REVERT, ] @singleton export class ExecQueue { @@ -34,7 +35,7 @@ export class ExecQueue { return } if (subTask.status === ReqTaskStatus.WAIT_EXEC_CONFIRM) { - this.blockChain.confirmQueue.addTaskToQueue(subTask) + new ChainCache().getConfirmQueue(subTask.chain).addTaskToQueue(subTask) return } this.queue.push(async () => { @@ -50,7 +51,7 @@ export class ExecQueue { this.addTaskToQueue(subTask) return } - this.blockChain.confirmQueue.addTaskToQueue(subTask) + new ChainCache().getConfirmQueue(subTask.chain).addTaskToQueue(subTask) } catch (err) { logger.error('error add task: ' + err) subTask.errMsg.push(err) diff --git a/src/schedule/blocknum.schedule.ts b/src/schedule/blocknum.schedule.ts index 4f2656e..d124ee2 100644 --- a/src/schedule/blocknum.schedule.ts +++ b/src/schedule/blocknum.schedule.ts @@ -1,3 +1,4 @@ +import { ChainCache } from 'cache/ChainCache' import { BlockChain } from 'chain/BlockChain' import { singleton } from 'decorators/singleton' import * as schedule from 'node-schedule' @@ -5,7 +6,9 @@ import * as schedule from 'node-schedule' @singleton export default class BlocknumSchedule { parseAllRecord() { - new BlockChain().updateCurrenBlockNum() + for (let cfg of new ChainCache().chainArray) { + new BlockChain().updateCurrenBlockNum(cfg.id) + } } scheduleAll() { const job = schedule.scheduleJob('*/5 * * * * *', async () => { diff --git a/src/service/event.sync.service.ts b/src/service/event.sync.service.ts index fd179b1..35ceac7 100644 --- a/src/service/event.sync.service.ts +++ b/src/service/event.sync.service.ts @@ -1,3 +1,4 @@ +import { ChainCache } from 'cache/ChainCache' import { HttpRetryProvider } from 'chain/HttpRetryProvider' import logger from 'logger/logger' import { NftTransferEvent } from 'models/NftTransferEvent' @@ -8,6 +9,7 @@ import Web3 from 'web3' export class EventSyncSvr { web3: Web3 + chain: number provider: HttpRetryProvider fromBlock: number = 27599018 toBlock: number = 10000 @@ -18,26 +20,27 @@ export class EventSyncSvr { eventProcesser: any constructor({ + chain, address, event, abi, fromBlock, eventProcesser, }: { + chain: number address: string event: string abi: any fromBlock: number eventProcesser: any }) { - this.provider = new HttpRetryProvider(process.env.CHAIN_RPC_URL.split('|')) - // @ts-ignore - this.web3 = new Web3(this.provider) + this.chain = chain + this.web3 = new ChainCache().getWeb3(chain) this.contract = new this.web3.eth.Contract(abi, address) this.address = this.contract.options.address this.event = event this.fromBlock = fromBlock - this.blockKey = `${address.toLowerCase()}_${event}` + this.blockKey = `${chain}_${address.toLowerCase()}_${event}` this.eventProcesser = eventProcesser } @@ -53,13 +56,14 @@ export class EventSyncSvr { } logger.log(`query events:: ${this.event} address: ${this.address} from: ${this.fromBlock} to: ${this.toBlock}`) let events = getPastEventsIter({ + chain: this.chain, contract: this.contract, event: this.event, fromBlock: this.fromBlock, toBlock: this.toBlock, }) // this.fromBlock = this.toBlock - await processEvents(this.web3, events, this.eventProcesser.saveEvent) + await processEvents(this.web3, events, this.chain, this.eventProcesser.saveEvent) // 处理完一种nft后, 清楚block的timestamp缓存 clearTimeCache() } diff --git a/src/service/task.service.ts b/src/service/task.service.ts index 03fb3b7..17ccf21 100644 --- a/src/service/task.service.ts +++ b/src/service/task.service.ts @@ -7,6 +7,7 @@ import { ReqTaskStatus, RequestTask } from 'models/RequestTask' import { ChainQueue } from 'queue/chain.queue' import { ExecQueue } from 'queue/exec.queue' import { WechatWorkService } from './wechatwork.service' +import { ChainCache } from 'cache/ChainCache' @singleton export class TaskSvr { @@ -14,7 +15,7 @@ export class TaskSvr { let data = await new WechatWorkService().parseOneTask(spNo) let subTasks = await ChainTask.parseWxApprovalInfo(data) for (let subTask of subTasks) { - let { scheduleId } = new BlockChain().walletReactor.genOperation(subTask) + let { scheduleId } = new ChainCache().getWallet(data.chain).genOperation(subTask) subTask.scheduleId = scheduleId await subTask.save() new ChainQueue().addTaskToQueue(subTask) diff --git a/src/service/wechatwork.service.ts b/src/service/wechatwork.service.ts index 2d30601..e14746f 100644 --- a/src/service/wechatwork.service.ts +++ b/src/service/wechatwork.service.ts @@ -1,4 +1,5 @@ import axios, { AxiosRequestConfig } from 'axios' +import { ChainCache } from 'cache/ChainCache' import { singleton } from 'decorators/singleton' import fs from 'fs' import os from 'os' @@ -240,8 +241,23 @@ export class WechatWorkService { let userInfo = await this.fetchUserInfo(starter) let starterName = userInfo.name let { filename } = await this.fetchFile(fileId) + let { data, chain } = this.parseOneExcel(filename) + return { taskId: spNo, name, desc, data, starter, starterName, chain } + } + + public parseOneExcel(filename: string) { let data = excelToJson(filename) - return { taskId: spNo, name, desc, data, starter, starterName } + let chain: number + if (data && data.length) { + chain = data[0].chain ? parseInt(data[0].chain) : 0 + } + if (!chain) { + throw new Error('no chain') + } + if (new ChainCache().chainArray.findIndex(o => o.id === chain) < 0) { + throw new Error('chain not support') + } + return { data, chain } } // 检查审核记录中的文件 private async queryMedidaIdFromSprecord(datas: any) { diff --git a/src/utils/contract.util.ts b/src/utils/contract.util.ts index 0c08cc5..d786228 100644 --- a/src/utils/contract.util.ts +++ b/src/utils/contract.util.ts @@ -170,12 +170,14 @@ export async function getPastEvents({ } export function* getPastEventsIter({ + chain, contract, event, fromBlock, toBlock, options, }: { + chain: number contract: any event: string fromBlock: number @@ -183,7 +185,7 @@ export function* getPastEventsIter({ options?: any }) { const address = contract.options.address - const redisKey = `${address.toLowerCase()}_${event}` + const redisKey = `${chain}_${address.toLowerCase()}_${event}` logger.debug(`*getPastEventsIter: ${event} from: ${fromBlock} to: ${toBlock}`) let from = toBN(fromBlock) let to = toBN(fromBlock).add(queryRange) @@ -198,7 +200,7 @@ export function* getPastEventsIter({ yield new RedisClient().set(redisKey, toBlockBN.add(ONE) + '') } -export async function processEvents(web3, iterator, processedEvent) { +export async function processEvents(web3, iterator, chain: number, processedEvent) { for (const getPastEventPromise of iterator) { const events = await getPastEventPromise for (const event of events) { @@ -211,6 +213,7 @@ export async function processEvents(web3, iterator, processedEvent) { blockTimeMap.set(event.blockNumber, blockData.timestamp) } } + event.chain = chain await processedEvent(event) } } diff --git a/src/utils/nft.util.ts b/src/utils/nft.util.ts index a0826ec..8262854 100644 --- a/src/utils/nft.util.ts +++ b/src/utils/nft.util.ts @@ -3,12 +3,6 @@ import { IDCounter } from 'models/IDCounter' export const ONE_DAY = 24 * 60 * 60 * 1000 export const NFT_BEGIN_DAY = new Date(2023, 4, 8) -export const NFT_TYPE = require('config/nfttypes.json') - -export const MINT_CHANNEL = { - claim: '01', // 2022购买用户claim -} - // calc days between two Date export function daysBetween(date1: Date, date2: Date) { // hours*minutes*seconds*milliseconds