From 6353d0e8d2299acf7c6fbecb8b071285c2643656 Mon Sep 17 00:00:00 2001 From: zhl Date: Tue, 6 Jun 2023 18:34:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=80=E4=BA=9B=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/contracts/FT.json | 17595 ++++++++ build/contracts/Migrations.json | 2 +- build/contracts/NFT.json | 34084 +++++++++------- build/contracts/UserMinterFactory.json | 10 +- contracts/interfaces/IAsset.sol | 17 + contracts/logic/MinterFactory.sol | 148 +- contracts/logic/UserMinterFactory.sol | 243 +- contracts/tokens/erc20/BECoin.sol | 11 - contracts/tokens/erc20/BEGold.sol | 34 - contracts/tokens/erc20/{BEUSTD.sol => FT.sol} | 16 +- contracts/tokens/erc721/BEChip.sol | 9 - contracts/tokens/erc721/BEEquipment.sol | 9 - contracts/tokens/erc721/BEHero.sol | 9 - contracts/tokens/erc721/NFT.sol | 165 + init_scripts/update_nft_setting.js | 192 +- migrations/2_depoly_etc.js | 30 + migrations/3_deploy_coin.js | 34 +- migrations/4_deploy_gold.js | 11 - ..._depoly_presale.js => 4_deploy_presale.js} | 0 migrations/5_deploy_hero.js | 10 - migrations/5_deploy_nft.js | 28 + migrations/6_deploy_equip.js | 10 - migrations/6_deploy_factory.js | 22 + migrations/7_deploy_chip.js | 10 - ...10_deploy_market.js => 7_deploy_market.js} | 8 + migrations/8_deploy_shard.js | 9 - migrations/9_deploy_factory.js | 16 - out_arbitrum_testnet_dev.json | 56 + package-lock.json | 1407 +- package.json | 8 +- scripts/base.js | 30 + truffle-config.js | 3 +- 32 files changed, 37395 insertions(+), 16841 deletions(-) create mode 100644 build/contracts/FT.json create mode 100644 contracts/interfaces/IAsset.sol delete mode 100644 contracts/tokens/erc20/BECoin.sol delete mode 100644 contracts/tokens/erc20/BEGold.sol rename contracts/tokens/erc20/{BEUSTD.sol => FT.sol} (81%) delete mode 100644 contracts/tokens/erc721/BEChip.sol delete mode 100644 contracts/tokens/erc721/BEEquipment.sol delete mode 100644 contracts/tokens/erc721/BEHero.sol create mode 100644 contracts/tokens/erc721/NFT.sol delete mode 100644 migrations/4_deploy_gold.js rename migrations/{3_depoly_presale.js => 4_deploy_presale.js} (100%) delete mode 100644 migrations/5_deploy_hero.js create mode 100644 migrations/5_deploy_nft.js delete mode 100644 migrations/6_deploy_equip.js create mode 100644 migrations/6_deploy_factory.js delete mode 100644 migrations/7_deploy_chip.js rename migrations/{10_deploy_market.js => 7_deploy_market.js} (59%) delete mode 100644 migrations/8_deploy_shard.js delete mode 100644 migrations/9_deploy_factory.js create mode 100644 out_arbitrum_testnet_dev.json create mode 100644 scripts/base.js diff --git a/build/contracts/FT.json b/build/contracts/FT.json new file mode 100644 index 0000000..48b7a59 --- /dev/null +++ b/build/contracts/FT.json @@ -0,0 +1,17595 @@ +{ + "contractName": "FT", + "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": "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": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "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": [], + "name": "supplyLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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": [], + "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": [ + { + "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" + } + ], + "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\":\"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\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removePauserRole\",\"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\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setPauserRole\",\"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\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"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.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"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.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc20/FT.sol\":\"FT\"},\"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/security/Pausable.sol\":{\"keccak256\":\"0xe68ed7fb8766ed1e888291f881e36b616037f852b37d96877045319ad298ba87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d491a2ca79dbf44bc02e876e21a5847a2cbcc011188532ad8662cdc1c134a4e\",\"dweb:/ipfs/QmUQXhSV8ZvHLzfdG89ZNSh1nLrAYyjnNBLznJGwGcwVk8\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xdadd41acb749920eccf40aeaa8d291adf9751399a7343561bad13e7a8d99be0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12af4ac016f9fdf3be5d15824f4292272aa11f6b2e0192a0f7320f5ad49bbbf0\",\"dweb:/ipfs/QmRXMpdqCgA3TYuYxBodqs5p9jGbnMW6xa2gvjppvq4TWk\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x0d19410453cda55960a818e02bd7c18952a5c8fe7a3036e81f0d599f34487a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c0f62d3d5bef22b5ca00cc3903e7de6152cb68d2d22401a463f373cda54c00f\",\"dweb:/ipfs/QmSfzjZux7LC7NW2f7rjCXTHeFMUCWERqDkhpCTBy7kxTe\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@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/erc20/FT.sol\":{\"keccak256\":\"0x472d1aa088343339a4f4fd19e6656c95b39b581391bd8b20c348273fd2c6cdc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b86d036a7e7cbf799c4db569f508635e723d07a9b411410a1da07db68e15d852\",\"dweb:/ipfs/QmTfQ1aAwcueZrVvRc286JxWgaaNYxXuUYnaziR33BYRe9\"]}},\"version\":1}", + "bytecode": "0x60a06040523480156200001157600080fd5b506040516200333938038062003339833981810160405281019062000037919062000515565b82828160039080519060200190620000519291906200028d565b5080600490805190602001906200006a9291906200028d565b5050506000600560006101000a81548160ff0219169083151502179055506200009d6000801b336200011260201b60201c565b620000cf7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336200011260201b60201c565b620001017f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200011260201b60201c565b806080818152505050505062000614565b6200012482826200012860201b60201c565b5050565b6200013a82826200021a60201b60201c565b620002165760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001bb6200028560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200029b90620005de565b90600052602060002090601f016020900481019282620002bf57600085556200030b565b82601f10620002da57805160ff19168380011785556200030b565b828001600101855582156200030b579182015b828111156200030a578251825591602001919060010190620002ed565b5b5090506200031a91906200031e565b5090565b5b80821115620003395760008160009055506001016200031f565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003a6826200035b565b810181811067ffffffffffffffff82111715620003c857620003c76200036c565b5b80604052505050565b6000620003dd6200033d565b9050620003eb82826200039b565b919050565b600067ffffffffffffffff8211156200040e576200040d6200036c565b5b62000419826200035b565b9050602081019050919050565b60005b838110156200044657808201518184015260208101905062000429565b8381111562000456576000848401525b50505050565b6000620004736200046d84620003f0565b620003d1565b90508281526020810184848401111562000492576200049162000356565b5b6200049f84828562000426565b509392505050565b600082601f830112620004bf57620004be62000351565b5b8151620004d18482602086016200045c565b91505092915050565b6000819050919050565b620004ef81620004da565b8114620004fb57600080fd5b50565b6000815190506200050f81620004e4565b92915050565b60008060006060848603121562000531576200053062000347565b5b600084015167ffffffffffffffff8111156200055257620005516200034c565b5b6200056086828701620004a7565b935050602084015167ffffffffffffffff8111156200058457620005836200034c565b5b6200059286828701620004a7565b9250506040620005a586828701620004fe565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f757607f821691505b602082108114156200060e576200060d620005af565b5b50919050565b608051612cfb6200063e6000396000818161076c01528181610a090152610a300152612cfb6000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806340c10f191161010f57806395d89b41116100a2578063d539139311610071578063d53913931461057c578063d547741f1461059a578063dd62ed3e146105b6578063e63ab1e9146105e6576101e5565b806395d89b41146104e0578063a217fddf146104fe578063a457c2d71461051c578063a9059cbb1461054c576101e5565b806370a08231116100de57806370a082311461045a57806379cc67901461048a5780638456cb59146104a657806391d14854146104b0576101e5565b806340c10f19146103e857806342966c6814610404578063530dd079146104205780635c975abb1461043c576101e5565b80631cf4e3ee11610187578063313ce56711610156578063313ce5671461037457806336568abe1461039257806339509351146103ae5780633f4ba83a146103de576101e5565b80631cf4e3ee146102dc57806323b872dd146102f8578063248a9ca3146103285780632f2ff15d14610358576101e5565b806315bd2794116101c357806315bd27941461026857806318160ddd1461028457806319d1997a146102a25780631bc28a69146102c0576101e5565b806301ffc9a7146101ea57806306fdde031461021a578063095ea7b314610238575b600080fd5b61020460048036038101906101ff9190611dda565b610604565b6040516102119190611e22565b60405180910390f35b61022261067e565b60405161022f9190611ed6565b60405180910390f35b610252600480360381019061024d9190611f8c565b610710565b60405161025f9190611e22565b60405180910390f35b610282600480360381019061027d9190611fcc565b610733565b005b61028c610760565b6040516102999190612008565b60405180910390f35b6102aa61076a565b6040516102b79190612008565b60405180910390f35b6102da60048036038101906102d59190611fcc565b61078e565b005b6102f660048036038101906102f19190611fcc565b6107bb565b005b610312600480360381019061030d9190612023565b6107e8565b60405161031f9190611e22565b60405180910390f35b610342600480360381019061033d91906120ac565b610817565b60405161034f91906120e8565b60405180910390f35b610372600480360381019061036d9190612103565b610837565b005b61037c610860565b604051610389919061215f565b60405180910390f35b6103ac60048036038101906103a79190612103565b610869565b005b6103c860048036038101906103c39190611f8c565b6108ec565b6040516103d59190611e22565b60405180910390f35b6103e6610996565b005b61040260048036038101906103fd9190611f8c565b6109d3565b005b61041e6004803603810190610419919061217a565b610ab3565b005b61043a60048036038101906104359190611fcc565b610ac7565b005b610444610af4565b6040516104519190611e22565b60405180910390f35b610474600480360381019061046f9190611fcc565b610b0b565b6040516104819190612008565b60405180910390f35b6104a4600480360381019061049f9190611f8c565b610b53565b005b6104ae610b73565b005b6104ca60048036038101906104c59190612103565b610bb0565b6040516104d79190611e22565b60405180910390f35b6104e8610c1b565b6040516104f59190611ed6565b60405180910390f35b610506610cad565b60405161051391906120e8565b60405180910390f35b61053660048036038101906105319190611f8c565b610cb4565b6040516105439190611e22565b60405180910390f35b61056660048036038101906105619190611f8c565b610d9e565b6040516105739190611e22565b60405180910390f35b610584610dc1565b60405161059191906120e8565b60405180910390f35b6105b460048036038101906105af9190612103565b610de5565b005b6105d060048036038101906105cb91906121a7565b610e0e565b6040516105dd9190612008565b60405180910390f35b6105ee610e95565b6040516105fb91906120e8565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610677575061067682610eb9565b5b9050919050565b60606003805461068d90612216565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612216565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b60008061071b610f23565b9050610728818585610f2b565b600191505092915050565b61075d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610de5565b50565b6000600254905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107b87f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610837565b50565b6107e57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610de5565b50565b6000806107f3610f23565b90506108008582856110f6565b61080b858585611182565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b61084082610817565b6108518161084c610f23565b611403565b61085b83836114a0565b505050565b60006012905090565b610871610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d5906122ba565b60405180910390fd5b6108e88282611581565b5050565b6000806108f7610f23565b905061098b818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109869190612309565b610f2b565b600191505092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6109c8816109c3610f23565b611403565b6109d0611663565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a0581610a00610f23565b611403565b60007f00000000000000000000000000000000000000000000000000000000000000001115610aa4577f000000000000000000000000000000000000000000000000000000000000000082610a58610760565b610a629190612309565b1115610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906123ab565b60405180910390fd5b5b610aae8383611705565b505050565b610ac4610abe610f23565b82611865565b50565b610af17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610837565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b6582610b5f610f23565b836110f6565b610b6f8282611865565b5050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ba581610ba0610f23565b611403565b610bad611a3c565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610c2a90612216565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5690612216565b8015610ca35780601f10610c7857610100808354040283529160200191610ca3565b820191906000526020600020905b815481529060010190602001808311610c8657829003601f168201915b5050505050905090565b6000801b81565b600080610cbf610f23565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c9061243d565b60405180910390fd5b610d928286868403610f2b565b60019250505092915050565b600080610da9610f23565b9050610db6818585611182565b600191505092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610dee82610817565b610dff81610dfa610f23565b611403565b610e098383611581565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906124cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561100b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100290612561565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110e99190612008565b60405180910390a3505050565b60006111028484610e0e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461117c578181101561116e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611165906125cd565b60405180910390fd5b61117b8484848403610f2b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061265f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906126f1565b60405180910390fd5b61126d838383611adf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612783565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113869190612309565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113ea9190612008565b60405180910390a36113fd848484611b37565b50505050565b61140d8282610bb0565b61149c576114328173ffffffffffffffffffffffffffffffffffffffff166014611b3c565b6114408360001c6020611b3c565b604051602001611451929190612877565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114939190611ed6565b60405180910390fd5b5050565b6114aa8282610bb0565b61157d5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611522610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61158b8282610bb0565b1561165f5760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611604610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61166b610af4565b6116aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a1906128fd565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6116ee610f23565b6040516116fb919061292c565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176c90612993565b60405180910390fd5b61178160008383611adf565b80600260008282546117939190612309565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117e89190612309565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161184d9190612008565b60405180910390a361186160008383611b37565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90612a25565b60405180910390fd5b6118e182600083611adf565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e90612ab7565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546119be9190612ad7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a239190612008565b60405180910390a3611a3783600084611b37565b505050565b611a44610af4565b15611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b90612b57565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ac8610f23565b604051611ad5919061292c565b60405180910390a1565b611ae7610af4565b15611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90612b57565b60405180910390fd5b611b32838383611d78565b505050565b505050565b606060006002836002611b4f9190612b77565b611b599190612309565b67ffffffffffffffff811115611b7257611b71612bd1565b5b6040519080825280601f01601f191660200182016040528015611ba45781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611bdc57611bdb612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611c4057611c3f612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611c809190612b77565b611c8a9190612309565b90505b6001811115611d2a577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611ccc57611ccb612c00565b5b1a60f81b828281518110611ce357611ce2612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611d2390612c2f565b9050611c8d565b5060008414611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6590612ca5565b60405180910390fd5b8091505092915050565b505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611db781611d82565b8114611dc257600080fd5b50565b600081359050611dd481611dae565b92915050565b600060208284031215611df057611def611d7d565b5b6000611dfe84828501611dc5565b91505092915050565b60008115159050919050565b611e1c81611e07565b82525050565b6000602082019050611e376000830184611e13565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e77578082015181840152602081019050611e5c565b83811115611e86576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ea882611e3d565b611eb28185611e48565b9350611ec2818560208601611e59565b611ecb81611e8c565b840191505092915050565b60006020820190508181036000830152611ef08184611e9d565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f2382611ef8565b9050919050565b611f3381611f18565b8114611f3e57600080fd5b50565b600081359050611f5081611f2a565b92915050565b6000819050919050565b611f6981611f56565b8114611f7457600080fd5b50565b600081359050611f8681611f60565b92915050565b60008060408385031215611fa357611fa2611d7d565b5b6000611fb185828601611f41565b9250506020611fc285828601611f77565b9150509250929050565b600060208284031215611fe257611fe1611d7d565b5b6000611ff084828501611f41565b91505092915050565b61200281611f56565b82525050565b600060208201905061201d6000830184611ff9565b92915050565b60008060006060848603121561203c5761203b611d7d565b5b600061204a86828701611f41565b935050602061205b86828701611f41565b925050604061206c86828701611f77565b9150509250925092565b6000819050919050565b61208981612076565b811461209457600080fd5b50565b6000813590506120a681612080565b92915050565b6000602082840312156120c2576120c1611d7d565b5b60006120d084828501612097565b91505092915050565b6120e281612076565b82525050565b60006020820190506120fd60008301846120d9565b92915050565b6000806040838503121561211a57612119611d7d565b5b600061212885828601612097565b925050602061213985828601611f41565b9150509250929050565b600060ff82169050919050565b61215981612143565b82525050565b60006020820190506121746000830184612150565b92915050565b6000602082840312156121905761218f611d7d565b5b600061219e84828501611f77565b91505092915050565b600080604083850312156121be576121bd611d7d565b5b60006121cc85828601611f41565b92505060206121dd85828601611f41565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061222e57607f821691505b60208210811415612242576122416121e7565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006122a4602f83611e48565b91506122af82612248565b604082019050919050565b600060208201905081810360008301526122d381612297565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061231482611f56565b915061231f83611f56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612354576123536122da565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000612395601783611e48565b91506123a08261235f565b602082019050919050565b600060208201905081810360008301526123c481612388565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612427602583611e48565b9150612432826123cb565b604082019050919050565b600060208201905081810360008301526124568161241a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124b9602483611e48565b91506124c48261245d565b604082019050919050565b600060208201905081810360008301526124e8816124ac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061254b602283611e48565b9150612556826124ef565b604082019050919050565b6000602082019050818103600083015261257a8161253e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006125b7601d83611e48565b91506125c282612581565b602082019050919050565b600060208201905081810360008301526125e6816125aa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612649602583611e48565b9150612654826125ed565b604082019050919050565b600060208201905081810360008301526126788161263c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126db602383611e48565b91506126e68261267f565b604082019050919050565b6000602082019050818103600083015261270a816126ce565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061276d602683611e48565b915061277882612711565b604082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006127e46017836127a3565b91506127ef826127ae565b601782019050919050565b600061280582611e3d565b61280f81856127a3565b935061281f818560208601611e59565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006128616011836127a3565b915061286c8261282b565b601182019050919050565b6000612882826127d7565b915061288e82856127fa565b915061289982612854565b91506128a582846127fa565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006128e7601483611e48565b91506128f2826128b1565b602082019050919050565b60006020820190508181036000830152612916816128da565b9050919050565b61292681611f18565b82525050565b6000602082019050612941600083018461291d565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061297d601f83611e48565b915061298882612947565b602082019050919050565b600060208201905081810360008301526129ac81612970565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a0f602183611e48565b9150612a1a826129b3565b604082019050919050565b60006020820190508181036000830152612a3e81612a02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612aa1602283611e48565b9150612aac82612a45565b604082019050919050565b60006020820190508181036000830152612ad081612a94565b9050919050565b6000612ae282611f56565b9150612aed83611f56565b925082821015612b0057612aff6122da565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000612b41601083611e48565b9150612b4c82612b0b565b602082019050919050565b60006020820190508181036000830152612b7081612b34565b9050919050565b6000612b8282611f56565b9150612b8d83611f56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bc657612bc56122da565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c3a82611f56565b91506000821415612c4e57612c4d6122da565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612c8f602083611e48565b9150612c9a82612c59565b602082019050919050565b60006020820190508181036000830152612cbe81612c82565b905091905056fea2646970667358221220df5a91f0010fbffcd41a395b5a2ad1d9d33db19a33ba4452fbc3b30af353790664736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806340c10f191161010f57806395d89b41116100a2578063d539139311610071578063d53913931461057c578063d547741f1461059a578063dd62ed3e146105b6578063e63ab1e9146105e6576101e5565b806395d89b41146104e0578063a217fddf146104fe578063a457c2d71461051c578063a9059cbb1461054c576101e5565b806370a08231116100de57806370a082311461045a57806379cc67901461048a5780638456cb59146104a657806391d14854146104b0576101e5565b806340c10f19146103e857806342966c6814610404578063530dd079146104205780635c975abb1461043c576101e5565b80631cf4e3ee11610187578063313ce56711610156578063313ce5671461037457806336568abe1461039257806339509351146103ae5780633f4ba83a146103de576101e5565b80631cf4e3ee146102dc57806323b872dd146102f8578063248a9ca3146103285780632f2ff15d14610358576101e5565b806315bd2794116101c357806315bd27941461026857806318160ddd1461028457806319d1997a146102a25780631bc28a69146102c0576101e5565b806301ffc9a7146101ea57806306fdde031461021a578063095ea7b314610238575b600080fd5b61020460048036038101906101ff9190611dda565b610604565b6040516102119190611e22565b60405180910390f35b61022261067e565b60405161022f9190611ed6565b60405180910390f35b610252600480360381019061024d9190611f8c565b610710565b60405161025f9190611e22565b60405180910390f35b610282600480360381019061027d9190611fcc565b610733565b005b61028c610760565b6040516102999190612008565b60405180910390f35b6102aa61076a565b6040516102b79190612008565b60405180910390f35b6102da60048036038101906102d59190611fcc565b61078e565b005b6102f660048036038101906102f19190611fcc565b6107bb565b005b610312600480360381019061030d9190612023565b6107e8565b60405161031f9190611e22565b60405180910390f35b610342600480360381019061033d91906120ac565b610817565b60405161034f91906120e8565b60405180910390f35b610372600480360381019061036d9190612103565b610837565b005b61037c610860565b604051610389919061215f565b60405180910390f35b6103ac60048036038101906103a79190612103565b610869565b005b6103c860048036038101906103c39190611f8c565b6108ec565b6040516103d59190611e22565b60405180910390f35b6103e6610996565b005b61040260048036038101906103fd9190611f8c565b6109d3565b005b61041e6004803603810190610419919061217a565b610ab3565b005b61043a60048036038101906104359190611fcc565b610ac7565b005b610444610af4565b6040516104519190611e22565b60405180910390f35b610474600480360381019061046f9190611fcc565b610b0b565b6040516104819190612008565b60405180910390f35b6104a4600480360381019061049f9190611f8c565b610b53565b005b6104ae610b73565b005b6104ca60048036038101906104c59190612103565b610bb0565b6040516104d79190611e22565b60405180910390f35b6104e8610c1b565b6040516104f59190611ed6565b60405180910390f35b610506610cad565b60405161051391906120e8565b60405180910390f35b61053660048036038101906105319190611f8c565b610cb4565b6040516105439190611e22565b60405180910390f35b61056660048036038101906105619190611f8c565b610d9e565b6040516105739190611e22565b60405180910390f35b610584610dc1565b60405161059191906120e8565b60405180910390f35b6105b460048036038101906105af9190612103565b610de5565b005b6105d060048036038101906105cb91906121a7565b610e0e565b6040516105dd9190612008565b60405180910390f35b6105ee610e95565b6040516105fb91906120e8565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610677575061067682610eb9565b5b9050919050565b60606003805461068d90612216565b80601f01602080910402602001604051908101604052809291908181526020018280546106b990612216565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b60008061071b610f23565b9050610728818585610f2b565b600191505092915050565b61075d7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610de5565b50565b6000600254905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107b87f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a82610837565b50565b6107e57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610de5565b50565b6000806107f3610f23565b90506108008582856110f6565b61080b858585611182565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b61084082610817565b6108518161084c610f23565b611403565b61085b83836114a0565b505050565b60006012905090565b610871610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d5906122ba565b60405180910390fd5b6108e88282611581565b5050565b6000806108f7610f23565b905061098b818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109869190612309565b610f2b565b600191505092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6109c8816109c3610f23565b611403565b6109d0611663565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a0581610a00610f23565b611403565b60007f00000000000000000000000000000000000000000000000000000000000000001115610aa4577f000000000000000000000000000000000000000000000000000000000000000082610a58610760565b610a629190612309565b1115610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a906123ab565b60405180910390fd5b5b610aae8383611705565b505050565b610ac4610abe610f23565b82611865565b50565b610af17f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610837565b50565b6000600560009054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b6582610b5f610f23565b836110f6565b610b6f8282611865565b5050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ba581610ba0610f23565b611403565b610bad611a3c565b50565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610c2a90612216565b80601f0160208091040260200160405190810160405280929190818152602001828054610c5690612216565b8015610ca35780601f10610c7857610100808354040283529160200191610ca3565b820191906000526020600020905b815481529060010190602001808311610c8657829003601f168201915b5050505050905090565b6000801b81565b600080610cbf610f23565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c9061243d565b60405180910390fd5b610d928286868403610f2b565b60019250505092915050565b600080610da9610f23565b9050610db6818585611182565b600191505092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610dee82610817565b610dff81610dfa610f23565b611403565b610e098383611581565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f92906124cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561100b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100290612561565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110e99190612008565b60405180910390a3505050565b60006111028484610e0e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461117c578181101561116e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611165906125cd565b60405180910390fd5b61117b8484848403610f2b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061265f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906126f1565b60405180910390fd5b61126d838383611adf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612783565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113869190612309565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113ea9190612008565b60405180910390a36113fd848484611b37565b50505050565b61140d8282610bb0565b61149c576114328173ffffffffffffffffffffffffffffffffffffffff166014611b3c565b6114408360001c6020611b3c565b604051602001611451929190612877565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114939190611ed6565b60405180910390fd5b5050565b6114aa8282610bb0565b61157d5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611522610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61158b8282610bb0565b1561165f5760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611604610f23565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61166b610af4565b6116aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a1906128fd565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6116ee610f23565b6040516116fb919061292c565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176c90612993565b60405180910390fd5b61178160008383611adf565b80600260008282546117939190612309565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117e89190612309565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161184d9190612008565b60405180910390a361186160008383611b37565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90612a25565b60405180910390fd5b6118e182600083611adf565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e90612ab7565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546119be9190612ad7565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a239190612008565b60405180910390a3611a3783600084611b37565b505050565b611a44610af4565b15611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b90612b57565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ac8610f23565b604051611ad5919061292c565b60405180910390a1565b611ae7610af4565b15611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90612b57565b60405180910390fd5b611b32838383611d78565b505050565b505050565b606060006002836002611b4f9190612b77565b611b599190612309565b67ffffffffffffffff811115611b7257611b71612bd1565b5b6040519080825280601f01601f191660200182016040528015611ba45781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611bdc57611bdb612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611c4057611c3f612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611c809190612b77565b611c8a9190612309565b90505b6001811115611d2a577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611ccc57611ccb612c00565b5b1a60f81b828281518110611ce357611ce2612c00565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611d2390612c2f565b9050611c8d565b5060008414611d6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6590612ca5565b60405180910390fd5b8091505092915050565b505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611db781611d82565b8114611dc257600080fd5b50565b600081359050611dd481611dae565b92915050565b600060208284031215611df057611def611d7d565b5b6000611dfe84828501611dc5565b91505092915050565b60008115159050919050565b611e1c81611e07565b82525050565b6000602082019050611e376000830184611e13565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e77578082015181840152602081019050611e5c565b83811115611e86576000848401525b50505050565b6000601f19601f8301169050919050565b6000611ea882611e3d565b611eb28185611e48565b9350611ec2818560208601611e59565b611ecb81611e8c565b840191505092915050565b60006020820190508181036000830152611ef08184611e9d565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f2382611ef8565b9050919050565b611f3381611f18565b8114611f3e57600080fd5b50565b600081359050611f5081611f2a565b92915050565b6000819050919050565b611f6981611f56565b8114611f7457600080fd5b50565b600081359050611f8681611f60565b92915050565b60008060408385031215611fa357611fa2611d7d565b5b6000611fb185828601611f41565b9250506020611fc285828601611f77565b9150509250929050565b600060208284031215611fe257611fe1611d7d565b5b6000611ff084828501611f41565b91505092915050565b61200281611f56565b82525050565b600060208201905061201d6000830184611ff9565b92915050565b60008060006060848603121561203c5761203b611d7d565b5b600061204a86828701611f41565b935050602061205b86828701611f41565b925050604061206c86828701611f77565b9150509250925092565b6000819050919050565b61208981612076565b811461209457600080fd5b50565b6000813590506120a681612080565b92915050565b6000602082840312156120c2576120c1611d7d565b5b60006120d084828501612097565b91505092915050565b6120e281612076565b82525050565b60006020820190506120fd60008301846120d9565b92915050565b6000806040838503121561211a57612119611d7d565b5b600061212885828601612097565b925050602061213985828601611f41565b9150509250929050565b600060ff82169050919050565b61215981612143565b82525050565b60006020820190506121746000830184612150565b92915050565b6000602082840312156121905761218f611d7d565b5b600061219e84828501611f77565b91505092915050565b600080604083850312156121be576121bd611d7d565b5b60006121cc85828601611f41565b92505060206121dd85828601611f41565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061222e57607f821691505b60208210811415612242576122416121e7565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006122a4602f83611e48565b91506122af82612248565b604082019050919050565b600060208201905081810360008301526122d381612297565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061231482611f56565b915061231f83611f56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612354576123536122da565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000612395601783611e48565b91506123a08261235f565b602082019050919050565b600060208201905081810360008301526123c481612388565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612427602583611e48565b9150612432826123cb565b604082019050919050565b600060208201905081810360008301526124568161241a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124b9602483611e48565b91506124c48261245d565b604082019050919050565b600060208201905081810360008301526124e8816124ac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061254b602283611e48565b9150612556826124ef565b604082019050919050565b6000602082019050818103600083015261257a8161253e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006125b7601d83611e48565b91506125c282612581565b602082019050919050565b600060208201905081810360008301526125e6816125aa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612649602583611e48565b9150612654826125ed565b604082019050919050565b600060208201905081810360008301526126788161263c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006126db602383611e48565b91506126e68261267f565b604082019050919050565b6000602082019050818103600083015261270a816126ce565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061276d602683611e48565b915061277882612711565b604082019050919050565b6000602082019050818103600083015261279c81612760565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006127e46017836127a3565b91506127ef826127ae565b601782019050919050565b600061280582611e3d565b61280f81856127a3565b935061281f818560208601611e59565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006128616011836127a3565b915061286c8261282b565b601182019050919050565b6000612882826127d7565b915061288e82856127fa565b915061289982612854565b91506128a582846127fa565b91508190509392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006128e7601483611e48565b91506128f2826128b1565b602082019050919050565b60006020820190508181036000830152612916816128da565b9050919050565b61292681611f18565b82525050565b6000602082019050612941600083018461291d565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061297d601f83611e48565b915061298882612947565b602082019050919050565b600060208201905081810360008301526129ac81612970565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a0f602183611e48565b9150612a1a826129b3565b604082019050919050565b60006020820190508181036000830152612a3e81612a02565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000612aa1602283611e48565b9150612aac82612a45565b604082019050919050565b60006020820190508181036000830152612ad081612a94565b9050919050565b6000612ae282611f56565b9150612aed83611f56565b925082821015612b0057612aff6122da565b5b828203905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000612b41601083611e48565b9150612b4c82612b0b565b602082019050919050565b60006020820190508181036000830152612b7081612b34565b9050919050565b6000612b8282611f56565b9150612b8d83611f56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bc657612bc56122da565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c3a82611f56565b91506000821415612c4e57612c4d6122da565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612c8f602083611e48565b9150612c9a82612c59565b602082019050919050565b60006020820190508181036000830152612cbe81612c82565b905091905056fea2646970667358221220df5a91f0010fbffcd41a395b5a2ad1d9d33db19a33ba4452fbc3b30af353790664736f6c634300080a0033", + "immutableReferences": { + "1495": [ + { + "length": 32, + "start": 1900 + }, + { + "length": 32, + "start": 2569 + }, + { + "length": 32, + "start": 2608 + } + ] + }, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:4609:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "423:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "440:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "443:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "433:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "433:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "433:12:12" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "334:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "546:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "563:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "556:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "556:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "556:12:12" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "457:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "628:54:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "638:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "656:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "663:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "652:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "672:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "668:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "668:7:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "648:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "648:28:12" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "638:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "611:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "621:6:12", + "type": "" + } + ], + "src": "580:102:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "716:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "733:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "736:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "726:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "726:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "726:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "830:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "833:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "823:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "823:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "823:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "854:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "857:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "847:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "847:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "847:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "688:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "917:238:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "927:58:12", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "949:6:12" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "979:4:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "957:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "957:27:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "945:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "945:40:12" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "931:10:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1096:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1098:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "1098:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1098:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1039:10:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1051:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1036:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1036:34:12" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1075:10:12" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1087:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1072:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1072:22:12" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "1033:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1033:62:12" + }, + "nodeType": "YulIf", + "src": "1030:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1134:2:12", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "1138:10:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1127:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1127:22:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1127:22:12" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "903:6:12", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "911:4:12", + "type": "" + } + ], + "src": "874:281:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1202:88:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1212:30:12", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1222:18:12" + }, + "nodeType": "YulFunctionCall", + "src": "1222:20:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1212:6:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1271:6:12" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1279:4:12" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1251:19:12" + }, + "nodeType": "YulFunctionCall", + "src": "1251:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1251:33:12" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1186:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1195:6:12", + "type": "" + } + ], + "src": "1161:129:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1363:241:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1468:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1470:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "1470:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1470:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1440:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1448:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1437:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1437:30:12" + }, + "nodeType": "YulIf", + "src": "1434:56:12" + }, + { + "nodeType": "YulAssignment", + "src": "1500:37:12", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1530:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1508:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "1508:29:12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1500:4:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1574:23:12", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1586:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1592:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1582:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1582:15:12" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1574:4:12" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1347:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:12", + "type": "" + } + ], + "src": "1296:308:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1659:258:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1669:10:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1678:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1673:1:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1738:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1763:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1768:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1759:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1759:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1782:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1787:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1778:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1778:11:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1772:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1772:18:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1752:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1752:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1752:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1699:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1702:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1696:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1696:13:12" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1710:19:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1712:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1721:1:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1724:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1717:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1717:10:12" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1712:1:12" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1692:3:12", + "statements": [] + }, + "src": "1688:113:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1835:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1885:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1881:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1881:16:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1874:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1874:27:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1874:27:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1816:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1819:6:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1813:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1813:13:12" + }, + "nodeType": "YulIf", + "src": "1810:101:12" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1641:3:12", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1646:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1651:6:12", + "type": "" + } + ], + "src": "1610:307:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2018:326:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2028:75:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2095:6:12" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2053:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "2053:49:12" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "2037:15:12" + }, + "nodeType": "YulFunctionCall", + "src": "2037:66:12" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2028:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2119:5:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2126:6:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2112:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2112:21:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2112:21:12" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2142:27:12", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2157:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2164:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2153:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2153:16:12" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2146:3:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2207:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "2209:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "2209:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2209:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2188:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2193:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2184:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2184:16:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2202:3:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2181:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "2181:25:12" + }, + "nodeType": "YulIf", + "src": "2178:112:12" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2321:3:12" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2326:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2331:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2299:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2299:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:39:12" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1991:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1996:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2004:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2012:5:12", + "type": "" + } + ], + "src": "1923:421:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2437:282:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2486:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "2488:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "2488:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2488:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2465:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2473:4:12", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2461:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2461:17:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2480:3:12" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2457:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2457:27:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2450:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2450:35:12" + }, + "nodeType": "YulIf", + "src": "2447:122:12" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2578:27:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2598:6:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2592:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "2592:13:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2582:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2614:99:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2686:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2694:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2682:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2682:17:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2701:6:12" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2709:3:12" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "2623:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "2623:90:12" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "2614:5:12" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2415:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2423:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "2431:5:12", + "type": "" + } + ], + "src": "2364:355:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2770:32:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2780:16:12", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2791:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2780:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2752:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2762:7:12", + "type": "" + } + ], + "src": "2725:77:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2851:79:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2908:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2910:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2910:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2910:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2874:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2899:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2881:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "2881:24:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2871:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "2871:35:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2864:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2864:43:12" + }, + "nodeType": "YulIf", + "src": "2861:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2844:5:12", + "type": "" + } + ], + "src": "2808:122:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2999:80:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3009:22:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3024:6:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3018:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "3018:13:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3009:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3067:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3040:26:12" + }, + "nodeType": "YulFunctionCall", + "src": "3040:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3040:33:12" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2977:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2985:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2993:5:12", + "type": "" + } + ], + "src": "2936:143:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3216:878:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3262:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3264:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3264:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3264:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3237:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3246:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3233:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3233:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3258:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3229:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3229:32:12" + }, + "nodeType": "YulIf", + "src": "3226:119:12" + }, + { + "nodeType": "YulBlock", + "src": "3355:291:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3370:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3394:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3405:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3390:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3390:17:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3384:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "3384:24:12" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3374:6:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3455:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3457:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3457:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3457:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3427:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3435:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3424:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3424:30:12" + }, + "nodeType": "YulIf", + "src": "3421:117:12" + }, + { + "nodeType": "YulAssignment", + "src": "3552:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3608:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3619:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3604:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3604:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3628:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3562:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "3562:74:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3552:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3656:292:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3671:39:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3695:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3706:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3691:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3691:18:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3685:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "3685:25:12" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3675:6:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3757:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "3759:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3759:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3759:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3729:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3737:18:12", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3726:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3726:30:12" + }, + "nodeType": "YulIf", + "src": "3723:117:12" + }, + { + "nodeType": "YulAssignment", + "src": "3854:84:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3910:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3921:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3906:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3906:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3930:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "3864:41:12" + }, + "nodeType": "YulFunctionCall", + "src": "3864:74:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3854:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3958:129:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3973:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3987:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3977:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4003:74:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4049:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4060:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4045:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4045:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4069:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "4013:31:12" + }, + "nodeType": "YulFunctionCall", + "src": "4013:64:12" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4003:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3170:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3181:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3193:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3201:6:12", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3209:6:12", + "type": "" + } + ], + "src": "3085:1009:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4128:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4145:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4148:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4138:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "4138:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4138:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4242:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4245:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4235:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "4235:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4235:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4266:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4269:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4259:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "4259:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4259:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "4100:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4337:269:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4347:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4361:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4367:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "4357:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4357:12:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4347:6:12" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4378:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "4408:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4414:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4404:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4404:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "4382:18:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4455:51:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4469:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4483:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4491:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "4479:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4479:17:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4469:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4435:18:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "4428:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "4428:26:12" + }, + "nodeType": "YulIf", + "src": "4425:81:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4558:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "4572:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "4572:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4572:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "4522:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4545:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4553:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4542:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "4542:14:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "4519:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "4519:38:12" + }, + "nodeType": "YulIf", + "src": "4516:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "4321:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4330:6:12", + "type": "" + } + ], + "src": "4286:320:12" + } + ] + }, + "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": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:28577:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "47:35:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "57:19:12", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "73:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "67:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "67:9:12" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "57:6:12" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40:6:12", + "type": "" + } + ], + "src": "7:75:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "177:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "194:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "197:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "187:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "187:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "187:12:12" + } + ] + }, + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulFunctionDefinition", + "src": "88:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "300:28:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "320:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "310:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "310:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "310:12:12" + } + ] + }, + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulFunctionDefinition", + "src": "211:117:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "378:105:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "388:89:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "403:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "410:66:12", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "399:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "399:78:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "388:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "360:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "370:7:12", + "type": "" + } + ], + "src": "334:149:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "531:78:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "587:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "596:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "599:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "589:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "589:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "589:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "554:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "578:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "561:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "561:23:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "551:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "551:34:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "544:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "544:42:12" + }, + "nodeType": "YulIf", + "src": "541:62:12" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "524:5:12", + "type": "" + } + ], + "src": "489:120:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "666:86:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "676:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "698:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "685:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "685:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "676:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "740:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "714:25:12" + }, + "nodeType": "YulFunctionCall", + "src": "714:32:12" + }, + "nodeType": "YulExpressionStatement", + "src": "714:32:12" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "644:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "652:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "660:5:12", + "type": "" + } + ], + "src": "615:137:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "823:262:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "869:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "871:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "871:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "871:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "844:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "853:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "840:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "840:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "865:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "836:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "836:32:12" + }, + "nodeType": "YulIf", + "src": "833:119:12" + }, + { + "nodeType": "YulBlock", + "src": "962:116:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "977:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "991:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "981:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1006:62:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1040:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1051:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1036:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1036:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1060:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1016:19:12" + }, + "nodeType": "YulFunctionCall", + "src": "1016:52:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1006:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "793:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "804:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "816:6:12", + "type": "" + } + ], + "src": "758:327:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1133:48:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1143:32:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1168:5:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1161:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1161:13:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1154:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1154:21:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "1143:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1115:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "1125:7:12", + "type": "" + } + ], + "src": "1091:90:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1246:50:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1263:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1283:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "1268:14:12" + }, + "nodeType": "YulFunctionCall", + "src": "1268:21:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1256:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1256:34:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1256:34:12" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1234:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1241:3:12", + "type": "" + } + ], + "src": "1187:109:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1394:118:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1404:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1416:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1427:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1412:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1412:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1404:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1478:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1491:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1502:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1487:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1487:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "1440:37:12" + }, + "nodeType": "YulFunctionCall", + "src": "1440:65:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1440:65:12" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1366:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1378:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1389:4:12", + "type": "" + } + ], + "src": "1302:210:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1577:40:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1588:22:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1604:5:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1598:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1598:12:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1588:6:12" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1560:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1570:6:12", + "type": "" + } + ], + "src": "1518:99:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1719:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1736:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1741:6:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1729:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1729:19:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1729:19:12" + }, + { + "nodeType": "YulAssignment", + "src": "1757:29:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1776:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1781:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1772:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1772:14:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "1757:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1691:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1696:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "1707:11:12", + "type": "" + } + ], + "src": "1623:169:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1847:258:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1857:10:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1866:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1861:1:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1926:63:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "1951:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1956:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1947:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1947:11:12" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "1970:3:12" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1975:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1966:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1966:11:12" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1960:5:12" + }, + "nodeType": "YulFunctionCall", + "src": "1960:18:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1940:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "1940:39:12" + }, + "nodeType": "YulExpressionStatement", + "src": "1940:39:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1887:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1890:6:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1884:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "1884:13:12" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1898:19:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1900:15:12", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1909:1:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1912:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1905:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "1905:10:12" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1900:1:12" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1880:3:12", + "statements": [] + }, + "src": "1876:113:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2023:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2073:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2078:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2069:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2069:16:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2087:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2062:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2062:27:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2062:27:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2004:1:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2007:6:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2001:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "2001:13:12" + }, + "nodeType": "YulIf", + "src": "1998:101:12" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1829:3:12", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1834:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1839:6:12", + "type": "" + } + ], + "src": "1798:307:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2159:54:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2169:38:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2187:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2194:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2183:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2183:14:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2199:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2199:7:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2179:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2179:28:12" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "2169:6:12" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2142:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "2152:6:12", + "type": "" + } + ], + "src": "2111:102:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2311:272:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2321:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2368:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2335:32:12" + }, + "nodeType": "YulFunctionCall", + "src": "2335:39:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2325:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2383:78:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2449:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2454:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2390:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "2390:71:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2383:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2496:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2503:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2492:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2492:16:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2510:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2515:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2470:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2470:52:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2470:52:12" + }, + { + "nodeType": "YulAssignment", + "src": "2531:46:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2542:3:12" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2569:6:12" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2547:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "2547:29:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2538:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2538:39:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2531:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2292:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2299:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2307:3:12", + "type": "" + } + ], + "src": "2219:364:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2707:195:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2717:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2729:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2740:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2725:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2725:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2717:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2764:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2775:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2760:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2760:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2783:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2789:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2779:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2779:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2753:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "2753:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "2753:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "2809:86:12", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2881:6:12" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2890:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2817:63:12" + }, + "nodeType": "YulFunctionCall", + "src": "2817:78:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2809:4:12" + } + ] + } + ] + }, + "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:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2691:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2702:4:12", + "type": "" + } + ], + "src": "2589:313:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2953:81:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2963:65:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2978:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2985:42:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2974:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "2974:54:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2963:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2935:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2945:7:12", + "type": "" + } + ], + "src": "2908:126:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3085:51:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3095:35:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3124:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "3106:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "3106:24:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3095:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3067:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3077:7:12", + "type": "" + } + ], + "src": "3040:96:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3185:79:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3242:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3251:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3254:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3244:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3244:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3244:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3208:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3233:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "3215:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "3215:24:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3205:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3205:35:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3198:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3198:43:12" + }, + "nodeType": "YulIf", + "src": "3195:63:12" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3178:5:12", + "type": "" + } + ], + "src": "3142:122:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3322:87:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3332:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3354:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3341:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "3341:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3332:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3397:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "3370:26:12" + }, + "nodeType": "YulFunctionCall", + "src": "3370:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3370:33:12" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3300:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3308:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3316:5:12", + "type": "" + } + ], + "src": "3270:139:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3460:32:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3470:16:12", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3481:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "3470:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3442:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "3452:7:12", + "type": "" + } + ], + "src": "3415:77:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3541:79:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3598:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3607:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3610:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3600:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3600:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3600:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3564:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3589:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "3571:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "3571:24:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3561:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "3561:35:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3554:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "3554:43:12" + }, + "nodeType": "YulIf", + "src": "3551:63:12" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3534:5:12", + "type": "" + } + ], + "src": "3498:122:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3678:87:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3688:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3710:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3697:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "3697:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3688:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3753:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3726:26:12" + }, + "nodeType": "YulFunctionCall", + "src": "3726:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3726:33:12" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3656:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3664:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3672:5:12", + "type": "" + } + ], + "src": "3626:139:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3854:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3900:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "3902:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "3902:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "3902:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3875:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3884:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3871:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3871:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3896:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3867:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "3867:32:12" + }, + "nodeType": "YulIf", + "src": "3864:119:12" + }, + { + "nodeType": "YulBlock", + "src": "3993:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4008:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4022:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4012:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4037:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4072:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4083:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4068:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4068:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4092:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4047:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "4047:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4037:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4120:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4135:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4149:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4139:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4165:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4200:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4211:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4196:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4196:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4220:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4175:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "4175:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4165:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3816:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3827:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3839:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3847:6:12", + "type": "" + } + ], + "src": "3771:474:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4317:263:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4363:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "4365:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "4365:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4365:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4338:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4347:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4334:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4334:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4359:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4330:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4330:32:12" + }, + "nodeType": "YulIf", + "src": "4327:119:12" + }, + { + "nodeType": "YulBlock", + "src": "4456:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4471:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4485:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4475:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4500:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4535:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4546:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4531:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4531:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4555:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4510:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "4510:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4500:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4287:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4298:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4310:6:12", + "type": "" + } + ], + "src": "4251:329:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4651:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4668:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4691:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4673:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "4673:24:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4661:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "4661:37:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4661:37:12" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4639:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4646:3:12", + "type": "" + } + ], + "src": "4586:118:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4808:124:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4818:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4830:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4841:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4826:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4826:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4818:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4898:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4911:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4922:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4907:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "4907:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "4854:43:12" + }, + "nodeType": "YulFunctionCall", + "src": "4854:71:12" + }, + "nodeType": "YulExpressionStatement", + "src": "4854:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4780:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4792:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4803:4:12", + "type": "" + } + ], + "src": "4710:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5038:519:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5084:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5086:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "5086:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5086:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5059:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5068:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5055:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5055:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5080:2:12", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5051:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5051:32:12" + }, + "nodeType": "YulIf", + "src": "5048:119:12" + }, + { + "nodeType": "YulBlock", + "src": "5177:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5192:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5206:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5196:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5221:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5256:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5267:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5252:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5252:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5276:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5231:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "5231:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5221:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5304:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5319:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5333:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5323:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5349:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5384:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5395:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5380:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5380:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5404:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5359:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "5359:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5349:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5432:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5447:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5461:2:12", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5451:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5477:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5512:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5523:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5508:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5508:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5532:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5487:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "5487:53:12" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5477:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4992:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5003:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5015:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5023:6:12", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5031:6:12", + "type": "" + } + ], + "src": "4938:619:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5608:32:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5618:16:12", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5629:5:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5618:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5590:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5600:7:12", + "type": "" + } + ], + "src": "5563:77:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5689:79:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5746:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5755:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5758:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5748:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5748:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5748:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5712:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5737:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5719:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "5719:24:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5709:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "5709:35:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5702:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5702:43:12" + }, + "nodeType": "YulIf", + "src": "5699:63:12" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5682:5:12", + "type": "" + } + ], + "src": "5646:122:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5826:87:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5836:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5858:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5845:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "5845:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5836:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5901:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "5874:26:12" + }, + "nodeType": "YulFunctionCall", + "src": "5874:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5874:33:12" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5804:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5812:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5820:5:12", + "type": "" + } + ], + "src": "5774:139:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5985:263:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6031:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6033:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "6033:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6033:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6006:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6015:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6002:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6002:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6027:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5998:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "5998:32:12" + }, + "nodeType": "YulIf", + "src": "5995:119:12" + }, + { + "nodeType": "YulBlock", + "src": "6124:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6139:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6153:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6143:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6168:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6203:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6214:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6199:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6199:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6223:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6178:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "6178:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6168:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5955:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5966:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5978:6:12", + "type": "" + } + ], + "src": "5919:329:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6319:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6336:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6359:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6341:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "6341:24:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6329:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "6329:37:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6329:37:12" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6307:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6314:3:12", + "type": "" + } + ], + "src": "6254:118:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6476:124:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6486:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6498:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6509:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6494:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6494:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6486:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6566:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6579:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6590:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6575:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6575:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "6522:43:12" + }, + "nodeType": "YulFunctionCall", + "src": "6522:71:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6522:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6448:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6460:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6471:4:12", + "type": "" + } + ], + "src": "6378:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6689:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6735:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6737:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "6737:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6737:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6710:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6719:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6706:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6706:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6731:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6702:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6702:32:12" + }, + "nodeType": "YulIf", + "src": "6699:119:12" + }, + { + "nodeType": "YulBlock", + "src": "6828:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6843:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6857:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6847:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6872:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6907:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6918:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6903:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6903:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6927:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6882:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "6882:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6872:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6955:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6970:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6984:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6974:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7000:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7035:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7046:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7031:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7031:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7055:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "7010:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "7010:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7000:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6651:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6662:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6674:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6682:6:12", + "type": "" + } + ], + "src": "6606:474:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7129:43:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7139:27:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7154:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7161:4:12", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7150:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7150:16:12" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "7139:7:12" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7111:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "7121:7:12", + "type": "" + } + ], + "src": "7086:86:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7239:51:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7256:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7277:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "7261:15:12" + }, + "nodeType": "YulFunctionCall", + "src": "7261:22:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7249:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "7249:35:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7249:35:12" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7227:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7234:3:12", + "type": "" + } + ], + "src": "7178:112:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7390:120:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7400:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7412:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7423:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7408:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7408:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7400:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7476:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7489:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7500:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7485:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7485:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "7436:39:12" + }, + "nodeType": "YulFunctionCall", + "src": "7436:67:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7436:67:12" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7362:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7374:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7385:4:12", + "type": "" + } + ], + "src": "7296:214:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7582:263:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7628:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7630:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "7630:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7630:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7603:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7612:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7599:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7599:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7624:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7595:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7595:32:12" + }, + "nodeType": "YulIf", + "src": "7592:119:12" + }, + { + "nodeType": "YulBlock", + "src": "7721:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7736:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7750:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7740:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7765:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7800:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7811:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7796:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7796:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7820:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "7775:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "7775:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7765:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7552:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7563:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7575:6:12", + "type": "" + } + ], + "src": "7516:329:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7934:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7980:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7982:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "7982:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "7982:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7955:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7964:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7951:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7951:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7976:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7947:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "7947:32:12" + }, + "nodeType": "YulIf", + "src": "7944:119:12" + }, + { + "nodeType": "YulBlock", + "src": "8073:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8088:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8102:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8092:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8117:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8152:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8163:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8148:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8148:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8172:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "8127:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "8127:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8117:6:12" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "8200:118:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8215:16:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8229:2:12", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8219:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8245:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8280:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8291:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8276:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8276:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8300:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "8255:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "8255:53:12" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8245:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7896:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7907:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7919:6:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7927:6:12", + "type": "" + } + ], + "src": "7851:474:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8359:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8376:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8379:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8369:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8369:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8369:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8473:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8476:4:12", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8466:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8466:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8466:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8497:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8500:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8490:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8490:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8490:15:12" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "8331:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8568:269:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8578:22:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8592:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8598:1:12", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "8588:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8588:12:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8578:6:12" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8609:38:12", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8639:4:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8645:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8635:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8635:12:12" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "8613:18:12", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8686:51:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8700:27:12", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8714:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8722:4:12", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "8710:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8710:17:12" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8700:6:12" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "8666:18:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "8659:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8659:26:12" + }, + "nodeType": "YulIf", + "src": "8656:81:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8789:42:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "8803:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "8803:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8803:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "8753:18:12" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8776:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8784:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8773:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "8773:14:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "8750:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "8750:38:12" + }, + "nodeType": "YulIf", + "src": "8747:84:12" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "8552:4:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8561:6:12", + "type": "" + } + ], + "src": "8517:320:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8949:128:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8971:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8979:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8967:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "8967:14:12" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "8983:34:12", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8960:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "8960:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "8960:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "9039:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9047:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9035:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9035:15:12" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "9052:17:12", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9028:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "9028:42:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9028:42:12" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8941:6:12", + "type": "" + } + ], + "src": "8843:234:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9229:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9239:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9305:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9310:2:12", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9246:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "9246:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9239:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9411:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "9322:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "9322:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9322:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "9424:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9435:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9440:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9431:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9431:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9424:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9217:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9225:3:12", + "type": "" + } + ], + "src": "9083:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9626:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9636:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9648:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9659:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9644:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9644:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9636:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9683:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9694:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9679:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9679:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9702:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9708:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9698:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "9698:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9672:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "9672:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9672:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "9728:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9862:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9736:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "9736:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9728:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9606:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9621:4:12", + "type": "" + } + ], + "src": "9455:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9908:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9925:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9928:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9918:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "9918:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "9918:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10022:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10025:4:12", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10015:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "10015:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "10015:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10046:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10049:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10039:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "10039:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "10039:15:12" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "9880:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10110:261:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10120:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "10143:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "10125:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "10125:20:12" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "10120:1:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10154:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "10177:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "10159:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "10159:20:12" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "10154:1:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10317:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "10319:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "10319:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "10319:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "10238:1:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10245:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "10313:1:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10241:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "10241:74:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10235:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "10235:81:12" + }, + "nodeType": "YulIf", + "src": "10232:107:12" + }, + { + "nodeType": "YulAssignment", + "src": "10349:16:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "10360:1:12" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "10363:1:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10356:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "10356:9:12" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "10349:3:12" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "10097:1:12", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "10100:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "10106:3:12", + "type": "" + } + ], + "src": "10066:305:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10483:67:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "10505:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10513:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10501:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "10501:14:12" + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "10517:25:12", + "type": "", + "value": "Exceed the total supply" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10494:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "10494:49:12" + }, + "nodeType": "YulExpressionStatement", + "src": "10494:49:12" + } + ] + }, + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "10475:6:12", + "type": "" + } + ], + "src": "10377:173:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10702:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10712:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10778:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10783:2:12", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10719:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "10719:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10712:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10884:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "nodeType": "YulIdentifier", + "src": "10795:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "10795:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "10795:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "10897:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10908:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10913:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10904:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "10904:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10897:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10690:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10698:3:12", + "type": "" + } + ], + "src": "10556:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11099:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11109:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11121:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11132:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11117:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11117:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11109:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11156:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11167:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11152:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11152:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11175:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11181:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11171:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11171:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11145:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "11145:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "11145:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "11201:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11335:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11209:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "11209:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11201:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11079:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11094:4:12", + "type": "" + } + ], + "src": "10928:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11459:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11481:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11489:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11477:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11477:14:12" + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11493:34:12", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11470:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "11470:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "11470:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11549:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11557:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11545:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11545:15:12" + }, + { + "hexValue": "207a65726f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "11562:7:12", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11538:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "11538:32:12" + }, + "nodeType": "YulExpressionStatement", + "src": "11538:32:12" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11451:6:12", + "type": "" + } + ], + "src": "11353:224:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11729:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11739:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11805:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11810:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11746:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "11746:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11739:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11911:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "11822:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "11822:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "11822:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "11924:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11935:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11940:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11931:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "11931:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11924:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11717:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11725:3:12", + "type": "" + } + ], + "src": "11583:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12126:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12136:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12148:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12159:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12144:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12144:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12136:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12183:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12194:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12179:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12179:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12202:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12208:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12198:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12198:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12172:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "12172:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "12172:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "12228:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12362:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12236:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "12236:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12228:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12106:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12121:4:12", + "type": "" + } + ], + "src": "11955:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12486:117:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12508:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12516:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12504:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12504:14:12" + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12520:34:12", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12497:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "12497:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "12497:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12576:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12584:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12572:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12572:15:12" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "12589:6:12", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12565:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "12565:31:12" + }, + "nodeType": "YulExpressionStatement", + "src": "12565:31:12" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12478:6:12", + "type": "" + } + ], + "src": "12380:223:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12755:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12765:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12831:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12836:2:12", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12772:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "12772:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12765:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12937:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "12848:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "12848:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "12848:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "12950:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12961:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12966:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12957:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12957:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12950:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12743:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12751:3:12", + "type": "" + } + ], + "src": "12609:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13152:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13162:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13174:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13185:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13170:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13170:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13162:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13209:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13220:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13205:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13205:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13228:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13234:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13224:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13224:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13198:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13198:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13198:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "13254:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13388:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13262:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "13262:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13254:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13132:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13147:4:12", + "type": "" + } + ], + "src": "12981:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13512:115:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13534:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13542:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13530:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13530:14:12" + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13546:34:12", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13523:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13523:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13523:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13602:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13610:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13598:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13598:15:12" + }, + { + "hexValue": "7373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13615:4:12", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13591:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13591:29:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13591:29:12" + } + ] + }, + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "13504:6:12", + "type": "" + } + ], + "src": "13406:221:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13779:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13789:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13855:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13860:2:12", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13796:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "13796:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13789:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13961:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulIdentifier", + "src": "13872:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "13872:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13872:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "13974:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13985:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13990:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13981:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13981:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13974:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13767:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13775:3:12", + "type": "" + } + ], + "src": "13633:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14176:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14186:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14198:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14209:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14194:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "14194:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14186:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14233:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14244:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14229:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "14229:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14252:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14258:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14248:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "14248:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14222:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "14222:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "14222:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "14278:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14412:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14286:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "14286:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14278:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14156:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14171:4:12", + "type": "" + } + ], + "src": "14005:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14536:73:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14558:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14566:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14554:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "14554:14:12" + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "14570:31:12", + "type": "", + "value": "ERC20: insufficient allowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14547:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "14547:55:12" + }, + "nodeType": "YulExpressionStatement", + "src": "14547:55:12" + } + ] + }, + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14528:6:12", + "type": "" + } + ], + "src": "14430:179:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14761:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14771:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14837:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14842:2:12", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14778:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "14778:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14771:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14943:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulIdentifier", + "src": "14854:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "14854:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "14854:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "14956:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14967:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14972:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14963:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "14963:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14956:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14749:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14757:3:12", + "type": "" + } + ], + "src": "14615:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15158:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15168:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15180:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15191:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15176:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15176:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15168:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15215:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15226:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15211:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15211:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15234:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15240:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15230:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15230:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15204:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "15204:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15204:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "15260:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15394:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15268:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "15268:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15260:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15138:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15153:4:12", + "type": "" + } + ], + "src": "14987:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15518:118:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15540:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15548:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15536:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15536:14:12" + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15552:34:12", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15529:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "15529:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15529:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15608:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15616:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15604:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15604:15:12" + }, + { + "hexValue": "6472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15621:7:12", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15597:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "15597:32:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15597:32:12" + } + ] + }, + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15510:6:12", + "type": "" + } + ], + "src": "15412:224:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15788:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15798:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15864:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15869:2:12", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15805:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "15805:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15798:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15970:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulIdentifier", + "src": "15881:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "15881:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15881:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "15983:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15994:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15999:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15990:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15990:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15983:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "15776:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "15784:3:12", + "type": "" + } + ], + "src": "15642:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16185:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16195:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16207:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16218:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16203:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "16203:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16195:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16242:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16253:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16238:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "16238:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16261:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16267:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16257:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "16257:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16231:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "16231:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "16231:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "16287:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16421:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16295:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "16295:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16287:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16165:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16180:4:12", + "type": "" + } + ], + "src": "16014:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16545:116:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16567:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16575:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16563:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "16563:14:12" + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16579:34:12", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16556:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "16556:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "16556:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16635:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16643:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16631:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "16631:15:12" + }, + { + "hexValue": "657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "16648:5:12", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16624:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "16624:30:12" + }, + "nodeType": "YulExpressionStatement", + "src": "16624:30:12" + } + ] + }, + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16537:6:12", + "type": "" + } + ], + "src": "16439:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16813:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16823:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16889:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16894:2:12", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16830:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "16830:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16823:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16995:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulIdentifier", + "src": "16906:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "16906:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "16906:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "17008:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17019:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17024:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17015:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17015:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17008:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16801:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16809:3:12", + "type": "" + } + ], + "src": "16667:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17210:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17220:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17232:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17243:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17228:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17228:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17220:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17267:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17278:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17263:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17263:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17286:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17292:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17282:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17282:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17256:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "17256:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "17256:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "17312:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17446:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17320:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "17320:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17312:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17190:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17205:4:12", + "type": "" + } + ], + "src": "17039:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17570:119:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17592:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17600:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17588:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17588:14:12" + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17604:34:12", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17581:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "17581:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "17581:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "17660:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17668:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17656:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "17656:15:12" + }, + { + "hexValue": "616c616e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "17673:8:12", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17649:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "17649:33:12" + }, + "nodeType": "YulExpressionStatement", + "src": "17649:33:12" + } + ] + }, + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "17562:6:12", + "type": "" + } + ], + "src": "17464:225:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17841:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17851:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17917:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17922:2:12", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17858:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "17858:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17851:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18023:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulIdentifier", + "src": "17934:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "17934:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "17934:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "18036:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18047:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18052:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18043:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18043:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18036:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17829:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17837:3:12", + "type": "" + } + ], + "src": "17695:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18238:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18248:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18260:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18271:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18256:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18256:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18248:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18295:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18306:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18291:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18291:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18314:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18320:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18310:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18310:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18284:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "18284:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "18284:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "18340:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18474:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18348:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "18348:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18340:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18218:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18233:4:12", + "type": "" + } + ], + "src": "18067:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18606:34:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18616:18:12", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18631:3:12" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "18616:11:12" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18578:3:12", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18583:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "18594:11:12", + "type": "" + } + ], + "src": "18492:148:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18752:67:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18774:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18782:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18770:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "18770:14:12" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "18786:25:12", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18763:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "18763:49:12" + }, + "nodeType": "YulExpressionStatement", + "src": "18763:49:12" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18744:6:12", + "type": "" + } + ], + "src": "18646:173:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18989:238:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18999:92:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19083:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19088:2:12", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19006:76:12" + }, + "nodeType": "YulFunctionCall", + "src": "19006:85:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18999:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19189:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "19100:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "19100:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "19100:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "19202:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19213:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19218:2:12", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19209:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "19209:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19202:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18977:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18985:3:12", + "type": "" + } + ], + "src": "18825:402:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19343:267:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "19353:53:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19400:5:12" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "19367:32:12" + }, + "nodeType": "YulFunctionCall", + "src": "19367:39:12" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19357:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19415:96:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19499:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19504:6:12" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19422:76:12" + }, + "nodeType": "YulFunctionCall", + "src": "19422:89:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19415:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19546:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19553:4:12", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19542:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "19542:16:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19560:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19565:6:12" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "19520:21:12" + }, + "nodeType": "YulFunctionCall", + "src": "19520:52:12" + }, + "nodeType": "YulExpressionStatement", + "src": "19520:52:12" + }, + { + "nodeType": "YulAssignment", + "src": "19581:23:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19592:3:12" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19597:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19588:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "19588:16:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19581:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19324:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19331:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19339:3:12", + "type": "" + } + ], + "src": "19233:377:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19722:61:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19744:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19752:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19740:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "19740:14:12" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19756:19:12", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19733:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "19733:43:12" + }, + "nodeType": "YulExpressionStatement", + "src": "19733:43:12" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19714:6:12", + "type": "" + } + ], + "src": "19616:167:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19953:238:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19963:92:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20047:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20052:2:12", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "19970:76:12" + }, + "nodeType": "YulFunctionCall", + "src": "19970:85:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19963:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20153:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "20064:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "20064:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "20064:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "20166:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20177:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20182:2:12", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20173:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "20173:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20166:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19941:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19949:3:12", + "type": "" + } + ], + "src": "19789:402:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20583:581:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20594:155:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20745:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "20601:142:12" + }, + "nodeType": "YulFunctionCall", + "src": "20601:148:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20594:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20759:102:12", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20848:6:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20857:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "20766:81:12" + }, + "nodeType": "YulFunctionCall", + "src": "20766:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20759:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "20871:155:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21022:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "20878:142:12" + }, + "nodeType": "YulFunctionCall", + "src": "20878:148:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20871:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21036:102:12", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "21125:6:12" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21134:3:12" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "21043:81:12" + }, + "nodeType": "YulFunctionCall", + "src": "21043:95:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21036:3:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "21148:10:12", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21155:3:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21148:3:12" + } + ] + } + ] + }, + "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": "20554:3:12", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "20560:6:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20568:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20579:3:12", + "type": "" + } + ], + "src": "20197:967:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21276:64:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21298:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21306:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21294:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21294:14:12" + }, + { + "hexValue": "5061757361626c653a206e6f7420706175736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21310:22:12", + "type": "", + "value": "Pausable: not paused" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21287:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "21287:46:12" + }, + "nodeType": "YulExpressionStatement", + "src": "21287:46:12" + } + ] + }, + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21268:6:12", + "type": "" + } + ], + "src": "21170:170:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21492:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21502:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21568:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21573:2:12", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21509:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "21509:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21502:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21674:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", + "nodeType": "YulIdentifier", + "src": "21585:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "21585:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "21585:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "21687:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "21698:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21703:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21694:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21694:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21687:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21480:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21488:3:12", + "type": "" + } + ], + "src": "21346:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21889:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21899:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21911:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21922:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21907:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21907:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21899:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21946:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21957:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21942:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21942:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21965:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21971:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21961:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "21961:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21935:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "21935:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "21935:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "21991:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22125:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21999:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "21999:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21991:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21869:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21884:4:12", + "type": "" + } + ], + "src": "21718:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22208:53:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22225:3:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22248:5:12" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "22230:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "22230:24:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22218:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "22218:37:12" + }, + "nodeType": "YulExpressionStatement", + "src": "22218:37:12" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22196:5:12", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22203:3:12", + "type": "" + } + ], + "src": "22143:118:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22365:124:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22375:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22387:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22398:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22383:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "22383:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22375:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22455:6:12" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22468:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22479:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22464:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "22464:17:12" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "22411:43:12" + }, + "nodeType": "YulFunctionCall", + "src": "22411:71:12" + }, + "nodeType": "YulExpressionStatement", + "src": "22411:71:12" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22337:9:12", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22349:6:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22360:4:12", + "type": "" + } + ], + "src": "22267:222:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22601:75:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22623:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22631:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22619:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "22619:14:12" + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "22635:33:12", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22612:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "22612:57:12" + }, + "nodeType": "YulExpressionStatement", + "src": "22612:57:12" + } + ] + }, + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22593:6:12", + "type": "" + } + ], + "src": "22495:181:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22828:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22838:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22904:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22909:2:12", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22845:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "22845:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22838:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23010:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulIdentifier", + "src": "22921:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "22921:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "22921:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "23023:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23034:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23039:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23030:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23030:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "23023:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22816:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22824:3:12", + "type": "" + } + ], + "src": "22682:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23225:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23235:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23247:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23258:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23243:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23243:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23235:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23282:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23293:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23278:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23278:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23301:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23307:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23297:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23297:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23271:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "23271:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "23271:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "23327:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23461:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23335:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "23335:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23327:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23205:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23220:4:12", + "type": "" + } + ], + "src": "23054:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23585:114:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23607:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23615:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23603:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23603:14:12" + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f20616464726573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23619:34:12", + "type": "", + "value": "ERC20: burn from the zero addres" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23596:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "23596:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "23596:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23675:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23683:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23671:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "23671:15:12" + }, + { + "hexValue": "73", + "kind": "string", + "nodeType": "YulLiteral", + "src": "23688:3:12", + "type": "", + "value": "s" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23664:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "23664:28:12" + }, + "nodeType": "YulExpressionStatement", + "src": "23664:28:12" + } + ] + }, + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23577:6:12", + "type": "" + } + ], + "src": "23479:220:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23851:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23861:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23927:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23932:2:12", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23868:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "23868:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "23861:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24033:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "nodeType": "YulIdentifier", + "src": "23944:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "23944:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "23944:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "24046:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24057:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24062:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24053:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24053:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "24046:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "23839:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "23847:3:12", + "type": "" + } + ], + "src": "23705:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24248:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24258:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24270:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24281:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24266:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24266:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24258:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24305:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24316:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24301:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24301:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24324:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24330:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24320:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24320:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24294:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "24294:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "24294:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "24350:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24484:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24358:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "24358:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24350:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24228:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24243:4:12", + "type": "" + } + ], + "src": "24077:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24608:115:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24630:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24638:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24626:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24626:14:12" + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24642:34:12", + "type": "", + "value": "ERC20: burn amount exceeds balan" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24619:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "24619:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "24619:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24698:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24706:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24694:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "24694:15:12" + }, + { + "hexValue": "6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24711:4:12", + "type": "", + "value": "ce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24687:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "24687:29:12" + }, + "nodeType": "YulExpressionStatement", + "src": "24687:29:12" + } + ] + }, + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24600:6:12", + "type": "" + } + ], + "src": "24502:221:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24875:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24885:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24951:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24956:2:12", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "24892:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "24892:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24885:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25057:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "nodeType": "YulIdentifier", + "src": "24968:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "24968:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "24968:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "25070:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25081:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25086:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25077:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25077:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "25070:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24863:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "24871:3:12", + "type": "" + } + ], + "src": "24729:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25272:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25282:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25294:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25305:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25290:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25290:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25282:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25329:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25340:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25325:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25325:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25348:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25354:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25344:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25344:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25318:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "25318:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "25318:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "25374:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25508:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25382:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "25382:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25374:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25252:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25267:4:12", + "type": "" + } + ], + "src": "25101:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25571:146:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25581:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25604:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25586:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "25586:20:12" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25581:1:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25615:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25638:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25620:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "25620:20:12" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25615:1:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25662:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25664:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "25664:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "25664:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25656:1:12" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25659:1:12" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "25653:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "25653:8:12" + }, + "nodeType": "YulIf", + "src": "25650:34:12" + }, + { + "nodeType": "YulAssignment", + "src": "25694:17:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25706:1:12" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25709:1:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25702:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25702:9:12" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "25694:4:12" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25557:1:12", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25560:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "25566:4:12", + "type": "" + } + ], + "src": "25526:191:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25829:60:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "25851:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25859:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25847:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "25847:14:12" + }, + { + "hexValue": "5061757361626c653a20706175736564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25863:18:12", + "type": "", + "value": "Pausable: paused" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25840:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "25840:42:12" + }, + "nodeType": "YulExpressionStatement", + "src": "25840:42:12" + } + ] + }, + "name": "store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25821:6:12", + "type": "" + } + ], + "src": "25723:166:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26041:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26051:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26117:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26122:2:12", + "type": "", + "value": "16" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26058:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "26058:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26051:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26223:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", + "nodeType": "YulIdentifier", + "src": "26134:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "26134:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26134:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "26236:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26247:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26252:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26243:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26243:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26236:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26029:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26037:3:12", + "type": "" + } + ], + "src": "25895:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26438:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26448:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26460:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26471:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26456:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26456:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26448:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26495:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26506:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26491:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26491:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26514:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26520:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26510:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26510:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26484:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26484:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26484:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "26540:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26674:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26548:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "26548:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26540:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26418:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26433:4:12", + "type": "" + } + ], + "src": "26267:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26740:300:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26750:25:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26773:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26755:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "26755:20:12" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26750:1:12" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "26784:25:12", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26807:1:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "26789:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "26789:20:12" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26784:1:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26982:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "26984:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "26984:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "26984:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26894:1:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26887:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26887:9:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "26880:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "26880:17:12" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "26902:1:12" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26909:66:12", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "26977:1:12" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "26905:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26905:74:12" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "26899:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "26899:81:12" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26876:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "26876:105:12" + }, + "nodeType": "YulIf", + "src": "26873:131:12" + }, + { + "nodeType": "YulAssignment", + "src": "27014:20:12", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "27029:1:12" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "27032:1:12" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "27025:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27025:9:12" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "27014:7:12" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "26723:1:12", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "26726:1:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "26732:7:12", + "type": "" + } + ], + "src": "26692:348:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27074:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27091:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27094:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27084:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27084:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27084:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27188:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27191:4:12", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27181:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27181:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27181:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27212:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27215:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27205:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27205:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27205:15:12" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "27046:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27260:152:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27277:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27280:77:12", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27270:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27270:88:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27270:88:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27374:1:12", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27377:4:12", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27367:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27367:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27367:15:12" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27398:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27401:4:12", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "27391:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27391:15:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27391:15:12" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "27232:180:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27461:128:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27471:33:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27498:5:12" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "27480:17:12" + }, + "nodeType": "YulFunctionCall", + "src": "27480:24:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27471:5:12" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27532:22:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "27534:16:12" + }, + "nodeType": "YulFunctionCall", + "src": "27534:18:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27534:18:12" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27519:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27526:4:12", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27516:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "27516:15:12" + }, + "nodeType": "YulIf", + "src": "27513:41:12" + }, + { + "nodeType": "YulAssignment", + "src": "27563:20:12", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27574:5:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27581:1:12", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27570:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27570:13:12" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "27563:3:12" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27447:5:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "27457:3:12", + "type": "" + } + ], + "src": "27418:171:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27701:76:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27723:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27731:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27719:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "27719:14:12" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27735:34:12", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27712:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "27712:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "27712:58:12" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27693:6:12", + "type": "" + } + ], + "src": "27595:182:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27929:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27939:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28005:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28010:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27946:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "27946:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27939:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28111:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "28022:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "28022:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "28022:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "28124:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28135:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28140:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28131:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "28131:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28124:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27917:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27925:3:12", + "type": "" + } + ], + "src": "27783:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28326:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28336:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28348:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28359:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28344:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "28344:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28336:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28383:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28394:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28379:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "28379:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28402:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28408:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28398:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "28398:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28372:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "28372:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "28372:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "28428:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28562:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28436:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "28436:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28428:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28306:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28321:4:12", + "type": "" + } + ], + "src": "28155:419:12" + } + ] + }, + "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_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_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 cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_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_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 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 store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n 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 store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: not paused\")\n\n }\n\n function abi_encode_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__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_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn from the zero addres\")\n\n mstore(add(memPtr, 32), \"s\")\n\n }\n\n function abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: burn amount exceeds balan\")\n\n mstore(add(memPtr, 32), \"ce\")\n\n }\n\n function abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function 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_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(memPtr) {\n\n mstore(add(memPtr, 0), \"Pausable: paused\")\n\n }\n\n function abi_encode_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 16)\n store_literal_in_memory_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__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_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a_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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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}\n", + "id": 12, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "303:1488:11:-:0;;;541:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;640:5;647:7;2052:5:3;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;991:5:2;981:7;;:15;;;;;;;;;;;;;;;;;;662:42:11::1;2072:4:0;673:18:11::0;::::1;693:10;662;;;:42;;:::i;:::-;710:35;406:24;734:10;710;;;:35;;:::i;:::-;751;472:24;775:10;751;;;:35;;:::i;:::-;806:11;792:25;;;;::::0;::::1;541:281:::0;;;303:1488;;6257:110:0;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::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:7:-;693:7;719:10;712:17;;640:96;:::o;303:1488:11:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:12:-;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;303:1488:11:-;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "303:1488:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:202:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1534:85:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3244:106:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;500:36:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1449:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1706:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5192:286:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3093:91:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5873:236:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;950:71:11;;;:::i;:::-;;1025:241;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;578:89:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1623:79:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1098:84:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:125:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;973:161:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;879:67:11;;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;434:62:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3976:149:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;368:62:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;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;2156:98:3:-;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;4532:13;4548:12;:10;:12::i;:::-;4532:28;;4570:32;4579:5;4586:7;4595:6;4570:8;:32::i;:::-;4619:4;4612:11;;;4433:197;;;;:::o;1534:85:11:-;1587:27;406:24;1611:2;1587:10;:27::i;:::-;1534:85;:::o;3244:106:3:-;3305:7;3331:12;;3324:19;;3244:106;:::o;500:36:11:-;;;:::o;1449:81::-;1499:26;406:24;1522:2;1499:9;:26::i;:::-;1449:81;:::o;1706:83::-;1757:27;472:24;1781:2;1757:10;:27::i;:::-;1706:83;:::o;5192:286:3:-;5319:4;5335:15;5353:12;:10;:12::i;:::-;5335:30;;5375:38;5391:4;5397:7;5406:6;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;5467:4;5460:11;;;5192:286;;;;;:::o;4008:129:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;4387:145::-;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;3093:91:3:-;3151:5;3175:2;3168:9;;3093:91;:::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;5873:236:3:-;5961:4;5977:13;5993:12;:10;:12::i;:::-;5977:28;;6015:66;6024:5;6031:7;6070:10;6040:11;:18;6052:5;6040:18;;;;;;;;;;;;;;;:27;6059:7;6040:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6015:8;:66::i;:::-;6098:4;6091:11;;;5873:236;;;;:::o;950:71:11:-;406:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1006:10:11::1;:8;:10::i;:::-;950:71:::0;:::o;1025:241::-;472:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1122:1:11::1;1108:11;:15;1104:135;;;1178:11;1167:6;1151:13;:11;:13::i;:::-;:22;;;;:::i;:::-;1150:39;;1133:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;1104:135;1244:17;1250:2;1254:6;1244:5;:17::i;:::-;1025:241:::0;;;:::o;578:89:5:-;633:27;639:12;:10;:12::i;:::-;653:6;633:5;:27::i;:::-;578:89;:::o;1623:79:11:-;1671:26;472:24;1694:2;1671:9;:26::i;:::-;1623:79;:::o;1098:84:2:-;1145:4;1168:7;;;;;;;;;;;1161:14;;1098:84;:::o;3408:125:3:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;973:161:5:-;1049:46;1065:7;1074:12;:10;:12::i;:::-;1088:6;1049:15;:46::i;:::-;1105:22;1111:7;1120:6;1105:5;:22::i;:::-;973:161;;:::o;879:67:11:-;406:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;933:8:11::1;:6;:8::i;:::-;879:67:::0;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2367:102:3:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;6596:429:3:-;6689:4;6705:13;6721:12;:10;:12::i;:::-;6705:28;;6743:24;6770:11;:18;6782:5;6770:18;;;;;;;;;;;;;;;:27;6789:7;6770:27;;;;;;;;;;;;;;;;6743:54;;6835:15;6815:16;:35;;6807:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6926:60;6935:5;6942:7;6970:15;6951:16;:34;6926:8;:60::i;:::-;7014:4;7007:11;;;;6596:429;;;;:::o;3729:189::-;3808:4;3824:13;3840:12;:10;:12::i;:::-;3824:28;;3862;3872:5;3879:2;3883:6;3862:9;:28::i;:::-;3907:4;3900:11;;;3729:189;;;;:::o;434:62:11:-;472:24;434: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;3976:149:3:-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;368:62:11:-;406:24;368:62;:::o;829:155:9:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;10123:370:3:-;10271:1;10254:19;;:5;:19;;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:1;10332:21;;:7;:21;;;;10324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10433:6;10403:11;:18;10415:5;10403:18;;;;;;;;;;;;;;;:27;10422:7;10403:27;;;;;;;;;;;;;;;:36;;;;10470:7;10454:32;;10463:5;10454:32;;;10479:6;10454:32;;;;;;:::i;:::-;;;;;;;;10123:370;;;:::o;10770:441::-;10900:24;10927:25;10937:5;10944:7;10927:9;:25::i;:::-;10900:52;;10986:17;10966:16;:37;10962:243;;11047:6;11027:16;:26;;11019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:51;11138:5;11145:7;11173:6;11154:16;:25;11129:8;:51::i;:::-;10962:243;10890:321;10770:441;;;:::o;7488:651::-;7630:1;7614:18;;:4;:18;;;;7606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7706:1;7692:16;;:2;:16;;;;7684:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:38;7780:4;7786:2;7790:6;7759:20;:38::i;:::-;7808:19;7830:9;:15;7840:4;7830:15;;;;;;;;;;;;;;;;7808:37;;7878:6;7863:11;:21;;7855:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7979:11;:20;7961:9;:15;7971:4;7961:15;;;;;;;;;;;;;;;:38;;;;8036:6;8019:9;:13;8029:2;8019:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8073:2;8058:26;;8067:4;8058:26;;;8077:6;8058:26;;;;;;:::i;:::-;;;;;;;;8095:37;8115:4;8121:2;8125:6;8095:19;:37::i;:::-;7596:543;7488:651;;;:::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;2110:117:2:-;1677:8;:6;:8::i;:::-;1669:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;2178:5:::1;2168:7;;:15;;;;;;;;;;;;;;;;;;2198:22;2207:12;:10;:12::i;:::-;2198:22;;;;;;:::i;:::-;;;;;;;;2110:117::o:0;8415:389:3:-;8517:1;8498:21;;:7;:21;;;;8490:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:49;8595:1;8599:7;8608:6;8566:20;:49::i;:::-;8642:6;8626:12;;:22;;;;;;;:::i;:::-;;;;;;;;8680:6;8658:9;:18;8668:7;8658:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8722:7;8701:37;;8718:1;8701:37;;;8731:6;8701:37;;;;;;:::i;:::-;;;;;;;;8749:48;8777:1;8781:7;8790:6;8749:19;:48::i;:::-;8415:389;;:::o;9124:576::-;9226:1;9207:21;;:7;:21;;;;9199:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:49;9298:7;9315:1;9319:6;9277:20;:49::i;:::-;9337:22;9362:9;:18;9372:7;9362:18;;;;;;;;;;;;;;;;9337:43;;9416:6;9398:14;:24;;9390:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9533:6;9516:14;:23;9495:9;:18;9505:7;9495:18;;;;;;;;;;;;;;;:44;;;;9575:6;9559:12;;:22;;;;;;;:::i;:::-;;;;;;;;9623:1;9597:37;;9606:7;9597:37;;;9627:6;9597:37;;;;;;:::i;:::-;;;;;;;;9645:48;9665:7;9682:1;9686:6;9645:19;:48::i;:::-;9189:511;9124:576;;:::o;1863:115:2:-;1412:8;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1932:4:::1;1922:7;;:14;;;;;;;;;;;;;;;;;;1951:20;1958:12;:10;:12::i;:::-;1951:20;;;;;;:::i;:::-;;;;;;;;1863:115::o:0;1270:175:11:-;1412:8:2;:6;:8::i;:::-;1411:9;1403:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;1396:44:11::1;1423:4;1429:2;1433:6;1396:26;:44::i;:::-;1270:175:::0;;;:::o;12504:120:3:-;;;;:::o;1588:441:8:-;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;11795:121:3:-;;;;:::o;88:117:12:-;197:1;194;187: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:126::-;2945:7;2985:42;2978:5;2974:54;2963:65;;2908:126;;;:::o;3040:96::-;3077:7;3106:24;3124:5;3106:24;:::i;:::-;3095:35;;3040:96;;;:::o;3142:122::-;3215:24;3233:5;3215:24;:::i;:::-;3208:5;3205:35;3195:63;;3254:1;3251;3244:12;3195:63;3142:122;:::o;3270:139::-;3316:5;3354:6;3341:20;3332:29;;3370:33;3397:5;3370:33;:::i;:::-;3270:139;;;;:::o;3415:77::-;3452:7;3481:5;3470:16;;3415:77;;;:::o;3498:122::-;3571:24;3589:5;3571:24;:::i;:::-;3564:5;3561:35;3551:63;;3610:1;3607;3600:12;3551:63;3498:122;:::o;3626:139::-;3672:5;3710:6;3697:20;3688:29;;3726:33;3753:5;3726:33;:::i;:::-;3626:139;;;;:::o;3771:474::-;3839:6;3847;3896:2;3884:9;3875:7;3871:23;3867:32;3864:119;;;3902:79;;:::i;:::-;3864:119;4022:1;4047:53;4092:7;4083:6;4072:9;4068:22;4047:53;:::i;:::-;4037:63;;3993:117;4149:2;4175:53;4220:7;4211:6;4200:9;4196:22;4175:53;:::i;:::-;4165:63;;4120:118;3771:474;;;;;:::o;4251:329::-;4310:6;4359:2;4347:9;4338:7;4334:23;4330:32;4327:119;;;4365:79;;:::i;:::-;4327:119;4485:1;4510:53;4555:7;4546:6;4535:9;4531:22;4510:53;:::i;:::-;4500:63;;4456:117;4251:329;;;;:::o;4586:118::-;4673:24;4691:5;4673:24;:::i;:::-;4668:3;4661:37;4586:118;;:::o;4710:222::-;4803:4;4841:2;4830:9;4826:18;4818:26;;4854:71;4922:1;4911:9;4907:17;4898:6;4854:71;:::i;:::-;4710:222;;;;:::o;4938:619::-;5015:6;5023;5031;5080:2;5068:9;5059:7;5055:23;5051:32;5048:119;;;5086:79;;:::i;:::-;5048:119;5206:1;5231:53;5276:7;5267:6;5256:9;5252:22;5231:53;:::i;:::-;5221:63;;5177:117;5333:2;5359:53;5404:7;5395:6;5384:9;5380:22;5359:53;:::i;:::-;5349:63;;5304:118;5461:2;5487:53;5532:7;5523:6;5512:9;5508:22;5487:53;:::i;:::-;5477:63;;5432:118;4938:619;;;;;:::o;5563:77::-;5600:7;5629:5;5618:16;;5563:77;;;:::o;5646:122::-;5719:24;5737:5;5719:24;:::i;:::-;5712:5;5709:35;5699:63;;5758:1;5755;5748:12;5699:63;5646:122;:::o;5774:139::-;5820:5;5858:6;5845:20;5836:29;;5874:33;5901:5;5874:33;:::i;:::-;5774:139;;;;:::o;5919:329::-;5978:6;6027:2;6015:9;6006:7;6002:23;5998:32;5995:119;;;6033:79;;:::i;:::-;5995:119;6153:1;6178:53;6223:7;6214:6;6203:9;6199:22;6178:53;:::i;:::-;6168:63;;6124:117;5919:329;;;;:::o;6254:118::-;6341:24;6359:5;6341:24;:::i;:::-;6336:3;6329:37;6254:118;;:::o;6378:222::-;6471:4;6509:2;6498:9;6494:18;6486:26;;6522:71;6590:1;6579:9;6575:17;6566:6;6522:71;:::i;:::-;6378:222;;;;:::o;6606:474::-;6674:6;6682;6731:2;6719:9;6710:7;6706:23;6702:32;6699:119;;;6737:79;;:::i;:::-;6699:119;6857:1;6882:53;6927:7;6918:6;6907:9;6903:22;6882:53;:::i;:::-;6872:63;;6828:117;6984:2;7010:53;7055:7;7046:6;7035:9;7031:22;7010:53;:::i;:::-;7000:63;;6955:118;6606:474;;;;;:::o;7086:86::-;7121:7;7161:4;7154:5;7150:16;7139:27;;7086:86;;;:::o;7178:112::-;7261:22;7277:5;7261:22;:::i;:::-;7256:3;7249:35;7178:112;;:::o;7296:214::-;7385:4;7423:2;7412:9;7408:18;7400:26;;7436:67;7500:1;7489:9;7485:17;7476:6;7436:67;:::i;:::-;7296:214;;;;:::o;7516:329::-;7575:6;7624:2;7612:9;7603:7;7599:23;7595:32;7592:119;;;7630:79;;:::i;:::-;7592:119;7750:1;7775:53;7820:7;7811:6;7800:9;7796:22;7775:53;:::i;:::-;7765:63;;7721:117;7516:329;;;;:::o;7851:474::-;7919:6;7927;7976:2;7964:9;7955:7;7951:23;7947:32;7944:119;;;7982:79;;:::i;:::-;7944:119;8102:1;8127:53;8172:7;8163:6;8152:9;8148:22;8127:53;:::i;:::-;8117:63;;8073:117;8229:2;8255:53;8300:7;8291:6;8280:9;8276:22;8255:53;:::i;:::-;8245:63;;8200:118;7851:474;;;;;:::o;8331:180::-;8379:77;8376:1;8369:88;8476:4;8473:1;8466:15;8500:4;8497:1;8490:15;8517:320;8561:6;8598:1;8592:4;8588:12;8578:22;;8645:1;8639:4;8635:12;8666:18;8656:81;;8722:4;8714:6;8710:17;8700:27;;8656:81;8784:2;8776:6;8773:14;8753:18;8750:38;8747:84;;;8803:18;;:::i;:::-;8747:84;8568:269;8517:320;;;:::o;8843:234::-;8983:34;8979:1;8971:6;8967:14;8960:58;9052:17;9047:2;9039:6;9035:15;9028:42;8843:234;:::o;9083:366::-;9225:3;9246:67;9310:2;9305:3;9246:67;:::i;:::-;9239:74;;9322:93;9411:3;9322:93;:::i;:::-;9440:2;9435:3;9431:12;9424:19;;9083:366;;;:::o;9455:419::-;9621:4;9659:2;9648:9;9644:18;9636:26;;9708:9;9702:4;9698:20;9694:1;9683:9;9679:17;9672:47;9736:131;9862:4;9736:131;:::i;:::-;9728:139;;9455:419;;;:::o;9880:180::-;9928:77;9925:1;9918:88;10025:4;10022:1;10015:15;10049:4;10046:1;10039:15;10066:305;10106:3;10125:20;10143:1;10125:20;:::i;:::-;10120:25;;10159:20;10177:1;10159:20;:::i;:::-;10154:25;;10313:1;10245:66;10241:74;10238:1;10235:81;10232:107;;;10319:18;;:::i;:::-;10232:107;10363:1;10360;10356:9;10349:16;;10066:305;;;;:::o;10377:173::-;10517:25;10513:1;10505:6;10501:14;10494:49;10377:173;:::o;10556:366::-;10698:3;10719:67;10783:2;10778:3;10719:67;:::i;:::-;10712:74;;10795:93;10884:3;10795:93;:::i;:::-;10913:2;10908:3;10904:12;10897:19;;10556:366;;;:::o;10928:419::-;11094:4;11132:2;11121:9;11117:18;11109:26;;11181:9;11175:4;11171:20;11167:1;11156:9;11152:17;11145:47;11209:131;11335:4;11209:131;:::i;:::-;11201:139;;10928:419;;;:::o;11353:224::-;11493:34;11489:1;11481:6;11477:14;11470:58;11562:7;11557:2;11549:6;11545:15;11538:32;11353:224;:::o;11583:366::-;11725:3;11746:67;11810:2;11805:3;11746:67;:::i;:::-;11739:74;;11822:93;11911:3;11822:93;:::i;:::-;11940:2;11935:3;11931:12;11924:19;;11583:366;;;:::o;11955:419::-;12121:4;12159:2;12148:9;12144:18;12136:26;;12208:9;12202:4;12198:20;12194:1;12183:9;12179:17;12172:47;12236:131;12362:4;12236:131;:::i;:::-;12228:139;;11955:419;;;:::o;12380:223::-;12520:34;12516:1;12508:6;12504:14;12497:58;12589:6;12584:2;12576:6;12572:15;12565:31;12380:223;:::o;12609:366::-;12751:3;12772:67;12836:2;12831:3;12772:67;:::i;:::-;12765:74;;12848:93;12937:3;12848:93;:::i;:::-;12966:2;12961:3;12957:12;12950:19;;12609:366;;;:::o;12981:419::-;13147:4;13185:2;13174:9;13170:18;13162:26;;13234:9;13228:4;13224:20;13220:1;13209:9;13205:17;13198:47;13262:131;13388:4;13262:131;:::i;:::-;13254:139;;12981:419;;;:::o;13406:221::-;13546:34;13542:1;13534:6;13530:14;13523:58;13615:4;13610:2;13602:6;13598:15;13591:29;13406:221;:::o;13633:366::-;13775:3;13796:67;13860:2;13855:3;13796:67;:::i;:::-;13789:74;;13872:93;13961:3;13872:93;:::i;:::-;13990:2;13985:3;13981:12;13974:19;;13633:366;;;:::o;14005:419::-;14171:4;14209:2;14198:9;14194:18;14186:26;;14258:9;14252:4;14248:20;14244:1;14233:9;14229:17;14222:47;14286:131;14412:4;14286:131;:::i;:::-;14278:139;;14005:419;;;:::o;14430:179::-;14570:31;14566:1;14558:6;14554:14;14547:55;14430:179;:::o;14615:366::-;14757:3;14778:67;14842:2;14837:3;14778:67;:::i;:::-;14771:74;;14854:93;14943:3;14854:93;:::i;:::-;14972:2;14967:3;14963:12;14956:19;;14615:366;;;:::o;14987:419::-;15153:4;15191:2;15180:9;15176:18;15168:26;;15240:9;15234:4;15230:20;15226:1;15215:9;15211:17;15204:47;15268:131;15394:4;15268:131;:::i;:::-;15260:139;;14987:419;;;:::o;15412:224::-;15552:34;15548:1;15540:6;15536:14;15529:58;15621:7;15616:2;15608:6;15604:15;15597:32;15412:224;:::o;15642:366::-;15784:3;15805:67;15869:2;15864:3;15805:67;:::i;:::-;15798:74;;15881:93;15970:3;15881:93;:::i;:::-;15999:2;15994:3;15990:12;15983:19;;15642:366;;;:::o;16014:419::-;16180:4;16218:2;16207:9;16203:18;16195:26;;16267:9;16261:4;16257:20;16253:1;16242:9;16238:17;16231:47;16295:131;16421:4;16295:131;:::i;:::-;16287:139;;16014:419;;;:::o;16439:222::-;16579:34;16575:1;16567:6;16563:14;16556:58;16648:5;16643:2;16635:6;16631:15;16624:30;16439:222;:::o;16667:366::-;16809:3;16830:67;16894:2;16889:3;16830:67;:::i;:::-;16823:74;;16906:93;16995:3;16906:93;:::i;:::-;17024:2;17019:3;17015:12;17008:19;;16667:366;;;:::o;17039:419::-;17205:4;17243:2;17232:9;17228:18;17220:26;;17292:9;17286:4;17282:20;17278:1;17267:9;17263:17;17256:47;17320:131;17446:4;17320:131;:::i;:::-;17312:139;;17039:419;;;:::o;17464:225::-;17604:34;17600:1;17592:6;17588:14;17581:58;17673:8;17668:2;17660:6;17656:15;17649:33;17464:225;:::o;17695:366::-;17837:3;17858:67;17922:2;17917:3;17858:67;:::i;:::-;17851:74;;17934:93;18023:3;17934:93;:::i;:::-;18052:2;18047:3;18043:12;18036:19;;17695:366;;;:::o;18067:419::-;18233:4;18271:2;18260:9;18256:18;18248:26;;18320:9;18314:4;18310:20;18306:1;18295:9;18291:17;18284:47;18348:131;18474:4;18348:131;:::i;:::-;18340:139;;18067:419;;;:::o;18492:148::-;18594:11;18631:3;18616:18;;18492:148;;;;:::o;18646:173::-;18786:25;18782:1;18774:6;18770:14;18763:49;18646:173;:::o;18825:402::-;18985:3;19006:85;19088:2;19083:3;19006:85;:::i;:::-;18999:92;;19100:93;19189:3;19100:93;:::i;:::-;19218:2;19213:3;19209:12;19202:19;;18825:402;;;:::o;19233:377::-;19339:3;19367:39;19400:5;19367:39;:::i;:::-;19422:89;19504:6;19499:3;19422:89;:::i;:::-;19415:96;;19520:52;19565:6;19560:3;19553:4;19546:5;19542:16;19520:52;:::i;:::-;19597:6;19592:3;19588:16;19581:23;;19343:267;19233:377;;;;:::o;19616:167::-;19756:19;19752:1;19744:6;19740:14;19733:43;19616:167;:::o;19789:402::-;19949:3;19970:85;20052:2;20047:3;19970:85;:::i;:::-;19963:92;;20064:93;20153:3;20064:93;:::i;:::-;20182:2;20177:3;20173:12;20166:19;;19789:402;;;:::o;20197:967::-;20579:3;20601:148;20745:3;20601:148;:::i;:::-;20594:155;;20766:95;20857:3;20848:6;20766:95;:::i;:::-;20759:102;;20878:148;21022:3;20878:148;:::i;:::-;20871:155;;21043:95;21134:3;21125:6;21043:95;:::i;:::-;21036:102;;21155:3;21148:10;;20197:967;;;;;:::o;21170:170::-;21310:22;21306:1;21298:6;21294:14;21287:46;21170:170;:::o;21346:366::-;21488:3;21509:67;21573:2;21568:3;21509:67;:::i;:::-;21502:74;;21585:93;21674:3;21585:93;:::i;:::-;21703:2;21698:3;21694:12;21687:19;;21346:366;;;:::o;21718:419::-;21884:4;21922:2;21911:9;21907:18;21899:26;;21971:9;21965:4;21961:20;21957:1;21946:9;21942:17;21935:47;21999:131;22125:4;21999:131;:::i;:::-;21991:139;;21718:419;;;:::o;22143:118::-;22230:24;22248:5;22230:24;:::i;:::-;22225:3;22218:37;22143:118;;:::o;22267:222::-;22360:4;22398:2;22387:9;22383:18;22375:26;;22411:71;22479:1;22468:9;22464:17;22455:6;22411:71;:::i;:::-;22267:222;;;;:::o;22495:181::-;22635:33;22631:1;22623:6;22619:14;22612:57;22495:181;:::o;22682:366::-;22824:3;22845:67;22909:2;22904:3;22845:67;:::i;:::-;22838:74;;22921:93;23010:3;22921:93;:::i;:::-;23039:2;23034:3;23030:12;23023:19;;22682:366;;;:::o;23054:419::-;23220:4;23258:2;23247:9;23243:18;23235:26;;23307:9;23301:4;23297:20;23293:1;23282:9;23278:17;23271:47;23335:131;23461:4;23335:131;:::i;:::-;23327:139;;23054:419;;;:::o;23479:220::-;23619:34;23615:1;23607:6;23603:14;23596:58;23688:3;23683:2;23675:6;23671:15;23664:28;23479:220;:::o;23705:366::-;23847:3;23868:67;23932:2;23927:3;23868:67;:::i;:::-;23861:74;;23944:93;24033:3;23944:93;:::i;:::-;24062:2;24057:3;24053:12;24046:19;;23705:366;;;:::o;24077:419::-;24243:4;24281:2;24270:9;24266:18;24258:26;;24330:9;24324:4;24320:20;24316:1;24305:9;24301:17;24294:47;24358:131;24484:4;24358:131;:::i;:::-;24350:139;;24077:419;;;:::o;24502:221::-;24642:34;24638:1;24630:6;24626:14;24619:58;24711:4;24706:2;24698:6;24694:15;24687:29;24502:221;:::o;24729:366::-;24871:3;24892:67;24956:2;24951:3;24892:67;:::i;:::-;24885:74;;24968:93;25057:3;24968:93;:::i;:::-;25086:2;25081:3;25077:12;25070:19;;24729:366;;;:::o;25101:419::-;25267:4;25305:2;25294:9;25290:18;25282:26;;25354:9;25348:4;25344:20;25340:1;25329:9;25325:17;25318:47;25382:131;25508:4;25382:131;:::i;:::-;25374:139;;25101:419;;;:::o;25526:191::-;25566:4;25586:20;25604:1;25586:20;:::i;:::-;25581:25;;25620:20;25638:1;25620:20;:::i;:::-;25615:25;;25659:1;25656;25653:8;25650:34;;;25664:18;;:::i;:::-;25650:34;25709:1;25706;25702:9;25694:17;;25526:191;;;;:::o;25723:166::-;25863:18;25859:1;25851:6;25847:14;25840:42;25723:166;:::o;25895:366::-;26037:3;26058:67;26122:2;26117:3;26058:67;:::i;:::-;26051:74;;26134:93;26223:3;26134:93;:::i;:::-;26252:2;26247:3;26243:12;26236:19;;25895:366;;;:::o;26267:419::-;26433:4;26471:2;26460:9;26456:18;26448:26;;26520:9;26514:4;26510:20;26506:1;26495:9;26491:17;26484:47;26548:131;26674:4;26548:131;:::i;:::-;26540:139;;26267:419;;;:::o;26692:348::-;26732:7;26755:20;26773:1;26755:20;:::i;:::-;26750:25;;26789:20;26807:1;26789:20;:::i;:::-;26784:25;;26977:1;26909:66;26905:74;26902:1;26899:81;26894:1;26887:9;26880:17;26876:105;26873:131;;;26984:18;;:::i;:::-;26873:131;27032:1;27029;27025:9;27014:20;;26692:348;;;;:::o;27046:180::-;27094:77;27091:1;27084:88;27191:4;27188:1;27181:15;27215:4;27212:1;27205:15;27232:180;27280:77;27277:1;27270:88;27377:4;27374:1;27367:15;27401:4;27398:1;27391:15;27418:171;27457:3;27480:24;27498:5;27480:24;:::i;:::-;27471:33;;27526:4;27519:5;27516:15;27513:41;;;27534:18;;:::i;:::-;27513:41;27581:1;27574:5;27570:13;27563:20;;27418:171;;;:::o;27595:182::-;27735:34;27731:1;27723:6;27719:14;27712:58;27595:182;:::o;27783:366::-;27925:3;27946:67;28010:2;28005:3;27946:67;:::i;:::-;27939:74;;28022:93;28111:3;28022:93;:::i;:::-;28140:2;28135:3;28131:12;28124:19;;27783:366;;;:::o;28155:419::-;28321:4;28359:2;28348:9;28344:18;28336:26;;28408:9;28402:4;28398:20;28394:1;28383:9;28379:17;28372:47;28436:131;28562:4;28436:131;:::i;:::-;28428:139;;28155:419;;;:::o", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/security/Pausable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract FT is ERC20, ERC20Burnable, Pausable, AccessControl {\n bytes32 public constant PAUSER_ROLE = keccak256(\"PAUSER_ROLE\");\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n uint256 public immutable supplyLimit;\n\n constructor(\n string memory name_,\n string memory symbol_,\n uint256 _supplyLimt\n ) ERC20(name_, symbol_) {\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(PAUSER_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n // constructor() ERC20(\"BE test USDT\", \"USDT\") {}\n\n function pause() external onlyRole(PAUSER_ROLE) {\n _pause();\n }\n\n function unpause() external onlyRole(PAUSER_ROLE) {\n _unpause();\n }\n\n function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) {\n if (supplyLimit > 0) {\n require(\n (totalSupply() + amount) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n _mint(to, amount);\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal override whenNotPaused {\n super._beforeTokenTransfer(from, to, amount);\n }\n\n function setPauserRole(address to) external {\n grantRole(PAUSER_ROLE, to);\n }\n\n function removePauserRole(address to) external {\n revokeRole(PAUSER_ROLE, to);\n }\n\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n}\n", + "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc20/FT.sol", + "ast": { + "absolutePath": "project:/contracts/tokens/erc20/FT.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Context": [ + 1230 + ], + "ERC165": [ + 1457 + ], + "ERC20": [ + 1061 + ], + "ERC20Burnable": [ + 1183 + ], + "FT": [ + 1649 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1469 + ], + "IERC20": [ + 1139 + ], + "IERC20Metadata": [ + 1208 + ], + "Pausable": [ + 473 + ], + "Strings": [ + 1433 + ] + }, + "id": 1650, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1471, + "literals": [ + "solidity", + "0.8", + ".10" + ], + "nodeType": "PragmaDirective", + "src": "32:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 1472, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1650, + "sourceUnit": 1062, + "src": "56:55:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "id": 1473, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1650, + "sourceUnit": 1184, + "src": "112:74:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/security/Pausable.sol", + "file": "@openzeppelin/contracts/security/Pausable.sol", + "id": 1474, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1650, + "sourceUnit": 474, + "src": "187:55:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 1475, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1650, + "sourceUnit": 309, + "src": "243:58:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1476, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1061, + "src": "318:5:11" + }, + "id": 1477, + "nodeType": "InheritanceSpecifier", + "src": "318:5:11" + }, + { + "baseName": { + "id": 1478, + "name": "ERC20Burnable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1183, + "src": "325:13:11" + }, + "id": 1479, + "nodeType": "InheritanceSpecifier", + "src": "325:13:11" + }, + { + "baseName": { + "id": 1480, + "name": "Pausable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 473, + "src": "340:8:11" + }, + "id": 1481, + "nodeType": "InheritanceSpecifier", + "src": "340:8:11" + }, + { + "baseName": { + "id": 1482, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 308, + "src": "350:13:11" + }, + "id": 1483, + "nodeType": "InheritanceSpecifier", + "src": "350:13:11" + } + ], + "canonicalName": "FT", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1649, + "linearizedBaseContracts": [ + 1649, + 308, + 1457, + 1469, + 381, + 473, + 1183, + 1061, + 1208, + 1139, + 1230 + ], + "name": "FT", + "nameLocation": "312:2:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "functionSelector": "e63ab1e9", + "id": 1488, + "mutability": "constant", + "name": "PAUSER_ROLE", + "nameLocation": "392:11:11", + "nodeType": "VariableDeclaration", + "scope": 1649, + "src": "368:62:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1484, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "368:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "5041555345525f524f4c45", + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "416:13:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a", + "typeString": "literal_string \"PAUSER_ROLE\"" + }, + "value": "PAUSER_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a", + "typeString": "literal_string \"PAUSER_ROLE\"" + } + ], + "id": 1485, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "406:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "406:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "d5391393", + "id": 1493, + "mutability": "constant", + "name": "MINTER_ROLE", + "nameLocation": "458:11:11", + "nodeType": "VariableDeclaration", + "scope": 1649, + "src": "434:62:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1489, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "434:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d494e5445525f524f4c45", + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "482:13:11", + "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": 1490, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "472:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "472:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "19d1997a", + "id": 1495, + "mutability": "immutable", + "name": "supplyLimit", + "nameLocation": "525:11:11", + "nodeType": "VariableDeclaration", + "scope": 1649, + "src": "500:36:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "500:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1530, + "nodeType": "Block", + "src": "656:166:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1509, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "673:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1510, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "693:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "693:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1508, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "662:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "662:42:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1513, + "nodeType": "ExpressionStatement", + "src": "662:42:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1515, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "721:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1516, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "734:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "734:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1514, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "710:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "710:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1519, + "nodeType": "ExpressionStatement", + "src": "710:35:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1521, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "762:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "775:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "775:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1520, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "751:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "751:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1525, + "nodeType": "ExpressionStatement", + "src": "751:35:11" + }, + { + "expression": { + "id": 1528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1526, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "792:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1527, + "name": "_supplyLimt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "806:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "792:25:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1529, + "nodeType": "ExpressionStatement", + "src": "792:25:11" + } + ] + }, + "id": 1531, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 1504, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "640:5:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1505, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "647:7:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 1506, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1503, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1061, + "src": "634:5:11" + }, + "nodeType": "ModifierInvocation", + "src": "634:21:11" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1497, + "mutability": "mutable", + "name": "name_", + "nameLocation": "572:5:11", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "558:19:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1496, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "558:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1499, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "597:7:11", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "583:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1498, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "583:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1501, + "mutability": "mutable", + "name": "_supplyLimt", + "nameLocation": "618:11:11", + "nodeType": "VariableDeclaration", + "scope": 1531, + "src": "610:19:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "610:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "552:81:11" + }, + "returnParameters": { + "id": 1507, + "nodeType": "ParameterList", + "parameters": [], + "src": "656:0:11" + }, + "scope": 1649, + "src": "541:281:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1540, + "nodeType": "Block", + "src": "927:19:11", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1537, + "name": "_pause", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 456, + "src": "933:6:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "933:8:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1539, + "nodeType": "ExpressionStatement", + "src": "933:8:11" + } + ] + }, + "functionSelector": "8456cb59", + "id": 1541, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1534, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "914:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1535, + "kind": "modifierInvocation", + "modifierName": { + "id": 1533, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "905:8:11" + }, + "nodeType": "ModifierInvocation", + "src": "905:21:11" + } + ], + "name": "pause", + "nameLocation": "888:5:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1532, + "nodeType": "ParameterList", + "parameters": [], + "src": "893:2:11" + }, + "returnParameters": { + "id": 1536, + "nodeType": "ParameterList", + "parameters": [], + "src": "927:0:11" + }, + "scope": 1649, + "src": "879:67:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1550, + "nodeType": "Block", + "src": "1000:21:11", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1547, + "name": "_unpause", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 472, + "src": "1006:8:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1006:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1549, + "nodeType": "ExpressionStatement", + "src": "1006:10:11" + } + ] + }, + "functionSelector": "3f4ba83a", + "id": 1551, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1544, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "987:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1545, + "kind": "modifierInvocation", + "modifierName": { + "id": 1543, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "978:8:11" + }, + "nodeType": "ModifierInvocation", + "src": "978:21:11" + } + ], + "name": "unpause", + "nameLocation": "959:7:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1542, + "nodeType": "ParameterList", + "parameters": [], + "src": "966:2:11" + }, + "returnParameters": { + "id": 1546, + "nodeType": "ParameterList", + "parameters": [], + "src": "1000:0:11" + }, + "scope": 1649, + "src": "950:71:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1582, + "nodeType": "Block", + "src": "1098:168:11", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1561, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "1108:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1122:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1108:15:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1576, + "nodeType": "IfStatement", + "src": "1104:135:11", + "trueBody": { + "id": 1575, + "nodeType": "Block", + "src": "1125:114:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1565, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 558, + "src": "1151:11:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1151:13:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1567, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "1167:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1151:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1569, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1150:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1570, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "1178:11:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1150:39:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1199:25:11", + "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": 1564, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1133:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1133:99:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1574, + "nodeType": "ExpressionStatement", + "src": "1133:99:11" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 1578, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1553, + "src": "1250:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1579, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "1254:6:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1577, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 878, + "src": "1244:5:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1244:17:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1581, + "nodeType": "ExpressionStatement", + "src": "1244:17:11" + } + ] + }, + "functionSelector": "40c10f19", + "id": 1583, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1558, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "1085:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 1559, + "kind": "modifierInvocation", + "modifierName": { + "id": 1557, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "1076:8:11" + }, + "nodeType": "ModifierInvocation", + "src": "1076:21:11" + } + ], + "name": "mint", + "nameLocation": "1034:4:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1556, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1553, + "mutability": "mutable", + "name": "to", + "nameLocation": "1047:2:11", + "nodeType": "VariableDeclaration", + "scope": 1583, + "src": "1039:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1039:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1555, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1059:6:11", + "nodeType": "VariableDeclaration", + "scope": 1583, + "src": "1051:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1051:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1038:28:11" + }, + "returnParameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [], + "src": "1098:0:11" + }, + "scope": 1649, + "src": "1025:241:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 1049 + ], + "body": { + "id": 1603, + "nodeType": "Block", + "src": "1390:55:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1598, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1585, + "src": "1423:4:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1599, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1587, + "src": "1429:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1600, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1589, + "src": "1433:6:11", + "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": 1595, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "1396:5:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_FT_$1649_$", + "typeString": "type(contract super FT)" + } + }, + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1049, + "src": "1396:26:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1396:44:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1602, + "nodeType": "ExpressionStatement", + "src": "1396:44:11" + } + ] + }, + "id": 1604, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1593, + "kind": "modifierInvocation", + "modifierName": { + "id": 1592, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 429, + "src": "1376:13:11" + }, + "nodeType": "ModifierInvocation", + "src": "1376:13:11" + } + ], + "name": "_beforeTokenTransfer", + "nameLocation": "1279:20:11", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1591, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1367:8:11" + }, + "parameters": { + "id": 1590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1585, + "mutability": "mutable", + "name": "from", + "nameLocation": "1313:4:11", + "nodeType": "VariableDeclaration", + "scope": 1604, + "src": "1305:12:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1305:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1587, + "mutability": "mutable", + "name": "to", + "nameLocation": "1331:2:11", + "nodeType": "VariableDeclaration", + "scope": 1604, + "src": "1323:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1323:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1589, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1347:6:11", + "nodeType": "VariableDeclaration", + "scope": 1604, + "src": "1339:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1339:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1299:58:11" + }, + "returnParameters": { + "id": 1594, + "nodeType": "ParameterList", + "parameters": [], + "src": "1390:0:11" + }, + "scope": 1649, + "src": "1270:175:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1614, + "nodeType": "Block", + "src": "1493:37:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1610, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "1509:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1611, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1606, + "src": "1522:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1609, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1499:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1499:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1613, + "nodeType": "ExpressionStatement", + "src": "1499:26:11" + } + ] + }, + "functionSelector": "1bc28a69", + "id": 1615, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setPauserRole", + "nameLocation": "1458:13:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1606, + "mutability": "mutable", + "name": "to", + "nameLocation": "1480:2:11", + "nodeType": "VariableDeclaration", + "scope": 1615, + "src": "1472:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1605, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1472:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1471:12:11" + }, + "returnParameters": { + "id": 1608, + "nodeType": "ParameterList", + "parameters": [], + "src": "1493:0:11" + }, + "scope": 1649, + "src": "1449:81:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1625, + "nodeType": "Block", + "src": "1581:38:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1621, + "name": "PAUSER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "1598:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1622, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1617, + "src": "1611:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1620, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "1587:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1587:27:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1624, + "nodeType": "ExpressionStatement", + "src": "1587:27:11" + } + ] + }, + "functionSelector": "15bd2794", + "id": 1626, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removePauserRole", + "nameLocation": "1543:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1618, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1617, + "mutability": "mutable", + "name": "to", + "nameLocation": "1568:2:11", + "nodeType": "VariableDeclaration", + "scope": 1626, + "src": "1560:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1616, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1560:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1559:12:11" + }, + "returnParameters": { + "id": 1619, + "nodeType": "ParameterList", + "parameters": [], + "src": "1581:0:11" + }, + "scope": 1649, + "src": "1534:85:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1636, + "nodeType": "Block", + "src": "1665:37:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1632, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "1681:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1633, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1628, + "src": "1694:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1631, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1671:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1671:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1635, + "nodeType": "ExpressionStatement", + "src": "1671:26:11" + } + ] + }, + "functionSelector": "530dd079", + "id": 1637, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setMintRole", + "nameLocation": "1632:11:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1628, + "mutability": "mutable", + "name": "to", + "nameLocation": "1652:2:11", + "nodeType": "VariableDeclaration", + "scope": 1637, + "src": "1644:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1644:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1643:12:11" + }, + "returnParameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [], + "src": "1665:0:11" + }, + "scope": 1649, + "src": "1623:79:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1647, + "nodeType": "Block", + "src": "1751:38:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1643, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1493, + "src": "1768:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1644, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1639, + "src": "1781:2:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1642, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "1757:10:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1757:27:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1646, + "nodeType": "ExpressionStatement", + "src": "1757:27:11" + } + ] + }, + "functionSelector": "1cf4e3ee", + "id": 1648, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeMintRole", + "nameLocation": "1715:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1639, + "mutability": "mutable", + "name": "to", + "nameLocation": "1738:2:11", + "nodeType": "VariableDeclaration", + "scope": 1648, + "src": "1730:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1638, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1730:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1729:12:11" + }, + "returnParameters": { + "id": 1641, + "nodeType": "ParameterList", + "parameters": [], + "src": "1751:0:11" + }, + "scope": 1649, + "src": "1706:83:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1650, + "src": "303:1488:11", + "usedErrors": [] + } + ], + "src": "32:1760:11" + }, + "compiler": { + "name": "solc", + "version": "0.8.10+commit.fc410830.Emscripten.clang" + }, + "networks": { + "421613": { + "events": {}, + "links": {}, + "address": "0x2C7221588D4FBac2585D71618CD540e74c7413B8", + "transactionHash": "0x4e94ba799f76ccf550df8f9eb25c1748766875f8be2b5324defb9178682dd492" + } + }, + "schemaVersion": "3.4.11", + "updatedAt": "2023-06-05T06:55:08.762Z", + "networkType": "ethereum", + "devdoc": { + "kind": "dev", + "methods": { + "allowance(address,address)": { + "details": "See {IERC20-allowance}." + }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { + "details": "See {IERC20-balanceOf}." + }, + "burn(uint256)": { + "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." + }, + "burnFrom(address,uint256)": { + "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "decreaseAllowance(address,uint256)": { + "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." + }, + "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." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "increaseAllowance(address,uint256)": { + "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." + }, + "name()": { + "details": "Returns the name of the token." + }, + "paused()": { + "details": "Returns true if the contract is paused, and false otherwise." + }, + "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." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { + "details": "See {IERC20-totalSupply}." + }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": {}, + "version": 1 + } +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 351c06a..b668151 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -3235,7 +3235,7 @@ } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-04-26T07:39:54.133Z", + "updatedAt": "2023-06-06T08:20:35.317Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/build/contracts/NFT.json b/build/contracts/NFT.json index 39343b3..ac2bb67 100644 --- a/build/contracts/NFT.json +++ b/build/contracts/NFT.json @@ -5,23 +5,18 @@ "inputs": [ { "internalType": "string", - "name": "name_", + "name": "_name", "type": "string" }, { "internalType": "string", - "name": "symbol_", + "name": "_symbol", "type": "string" }, { - "internalType": "string", - "name": "baseURI_", - "type": "string" - }, - { - "internalType": "string", - "name": "detailURI_", - "type": "string" + "internalType": "uint256", + "name": "_supplyLimt", + "type": "uint256" } ], "stateMutability": "nonpayable", @@ -81,7 +76,7 @@ "anonymous": false, "inputs": [ { - "indexed": false, + "indexed": true, "internalType": "address", "name": "to", "type": "address" @@ -91,12 +86,6 @@ "internalType": "uint256[]", "name": "tokenIds", "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "configId", - "type": "uint256[]" } ], "name": "BatchMint", @@ -106,25 +95,13 @@ "anonymous": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, + "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "configId", - "type": "uint256" } ], - "name": "Mint", + "name": "Lock", "type": "event" }, { @@ -227,6 +204,33 @@ "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", @@ -241,6 +245,20 @@ "type": "function", "constant": true }, + { + "inputs": [], + "name": "LOCK_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [], "name": "MINTER_ROLE", @@ -293,34 +311,6 @@ "type": "function", "constant": true }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "detailURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, { "inputs": [ { @@ -429,6 +419,26 @@ "type": "function", "constant": true }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lockedTokens", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [], "name": "name", @@ -541,7 +551,7 @@ }, { "internalType": "bytes", - "name": "data", + "name": "_data", "type": "bytes" } ], @@ -568,6 +578,20 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "supplyLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [], "name": "symbol", @@ -627,6 +651,26 @@ "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", @@ -672,17 +716,31 @@ "type": "address" }, { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "configId", - "type": "uint256" + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" } ], - "name": "mint", + "name": "batchMint", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "setMintRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -693,19 +751,9 @@ "internalType": "address", "name": "to", "type": "address" - }, - { - "internalType": "uint256[]", - "name": "tokenIds", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "configIds", - "type": "uint256[]" } ], - "name": "batchMint", + "name": "removeMintRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -713,32 +761,12 @@ { "inputs": [ { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" + "internalType": "address", + "name": "to", + "type": "address" } ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI_", - "type": "string" - } - ], - "name": "setBaseURI", + "name": "setBurnRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -746,12 +774,25 @@ { "inputs": [ { - "internalType": "string", - "name": "detailURI_", - "type": "string" + "internalType": "address", + "name": "proxy", + "type": "address" } ], - "name": "setDetailURI", + "name": "removeBurnRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "grantLockRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -764,20 +805,7 @@ "type": "address" } ], - "name": "addMinter", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "renounceMinter", + "name": "removeLockRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -790,18 +818,57 @@ "type": "uint256" } ], - "name": "detail", + "name": "lock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "unlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "isLocked", "outputs": [ { - "internalType": "string", + "internalType": "bool", "name": "", - "type": "string" + "type": "bool" } ], "stateMutability": "view", "type": "function", "constant": true }, + { + "inputs": [ + { + "internalType": "string", + "name": "baseTokenURI", + "type": "string" + } + ], + "name": "updateBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -821,32 +888,60 @@ "stateMutability": "view", "type": "function", "constant": true + }, + { + "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\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"detailURI_\",\"type\":\"string\"}],\"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\":false,\"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\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"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\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"detail\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"detailURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"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\":[],\"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\":\"account\",\"type\":\"address\"}],\"name\":\"renounceMinter\",\"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\":\"string\",\"name\":\"detailURI_\",\"type\":\"string\"}],\"name\":\"setDetailURI\",\"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\":[],\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"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}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"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}.\"},\"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}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Nft.sol\":\"NFT\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x5b35d8e68aeaccc685239bd9dd79b9ba01a0357930f8a3307ab85511733d9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba8eb2d22f9321bd4660f6617c181d9611ff30a9b089408b8c6e2216d6d5cdc5\",\"dweb:/ipfs/QmTSJvhjHfnUV1j4hsqDv8PmLvGBLRs9gHLjTUXrUJ5Y9q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x0b606994df12f0ce35f6d2f6dcdde7e55e6899cdef7e00f180980caa81e3844e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c827c981a552d1c76c96060e92f56b52bc20c6f9b4dbf911fe99ddbfb41f2ea\",\"dweb:/ipfs/QmW8xvJdzHrr8Ry34C7viBsgG2b8T1mL4BQWJ5CdfD9JLB\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xed6a749c5373af398105ce6ee3ac4763aa450ea7285d268c85d9eeca809cdb1f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20a97f891d06f0fe91560ea1a142aaa26fdd22bed1b51606b7d48f670deeb50f\",\"dweb:/ipfs/QmTbCtZKChpaX5H2iRiTDMcSz29GSLCpTCDgJpcMR4wg8x\"]},\"@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\":\"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\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xaf159a8b1923ad2a26d516089bceca9bdeaeacd04be50983ea00ba63070f08a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2cf1c531122bc7ca96b8c8db6a60deae60441e5223065e792553d4849b5638\",\"dweb:/ipfs/QmPBdJmBBABMDCfyDjCbdxgiqRavgiSL88SYPGibgbPas9\"]},\"@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/structs/EnumerableSet.sol\":{\"keccak256\":\"0x5050943b32b6a8f282573d166b2e9d87ab7eb4dbba4ab6acf36ecb54fe6995e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4831d777a29ebdf9f2caecd70e74b97bff1b70e53622fd0a02aed01e21c8271\",\"dweb:/ipfs/QmUqurVVnCc7XkMxb2k23TVQUtuhHZduJ3hTZarTJrqU24\"]},\"project:/contracts/Nft.sol\":{\"keccak256\":\"0x2a5eb4454d9eea938c499700dc5614b7b69de55d66394c55edc7c4da36cace09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35dadbbdc1ce882c10fe6d5ecbcaf99eb03c821e6480dc2d80efdfa014440eb8\",\"dweb:/ipfs/QmQVCsydihMJYcyX6vZUGEtzRWHVhKytA1EeDFwnJKtDos\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620049dd380380620049dd8339818101604052810190620000379190620004a2565b838381600090805190602001906200005192919062000255565b5080600190805190602001906200006a92919062000255565b505050620000826000801b33620000f060201b60201c565b620000b47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620000f060201b60201c565b81600b9080519060200190620000cc92919062000255565b5080600c9080519060200190620000e592919062000255565b5050505050620005f5565b620001028282620001e260201b60201c565b620001de576001600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001836200024d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200026390620005bf565b90600052602060002090601f016020900481019282620002875760008555620002d3565b82601f10620002a257805160ff1916838001178555620002d3565b82800160010185558215620002d3579182015b82811115620002d2578251825591602001919060010190620002b5565b5b509050620002e29190620002e6565b5090565b5b8082111562000301576000816000905550600101620002e7565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200036e8262000323565b810181811067ffffffffffffffff8211171562000390576200038f62000334565b5b80604052505050565b6000620003a562000305565b9050620003b3828262000363565b919050565b600067ffffffffffffffff821115620003d657620003d562000334565b5b620003e18262000323565b9050602081019050919050565b60005b838110156200040e578082015181840152602081019050620003f1565b838111156200041e576000848401525b50505050565b60006200043b6200043584620003b8565b62000399565b9050828152602081018484840111156200045a57620004596200031e565b5b62000467848285620003ee565b509392505050565b600082601f83011262000487576200048662000319565b5b81516200049984826020860162000424565b91505092915050565b60008060008060808587031215620004bf57620004be6200030f565b5b600085015167ffffffffffffffff811115620004e057620004df62000314565b5b620004ee878288016200046f565b945050602085015167ffffffffffffffff81111562000512576200051162000314565b5b62000520878288016200046f565b935050604085015167ffffffffffffffff81111562000544576200054362000314565b5b62000552878288016200046f565b925050606085015167ffffffffffffffff81111562000576576200057562000314565b5b62000584878288016200046f565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005d857607f821691505b60208210811415620005ef57620005ee62000590565b5b50919050565b6143d880620006056000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80635f112c681161010f578063a217fddf116100a2578063d539139311610071578063d5391393146105c5578063d547741f146105e3578063db487f36146105ff578063e985e9c51461062f576101f0565b8063a217fddf1461053f578063a22cb4651461055d578063b88d4fde14610579578063c87b56dd14610595576101f0565b806374f962e0116100de57806374f962e0146104b757806391d14854146104d557806395d89b4114610505578063983b2d5614610523576101f0565b80635f112c681461041d5780636352211e146104395780636c0360eb1461046957806370a0823114610487576101f0565b8063248a9ca31161018757806342842e0e1161015657806342842e0e146103995780634f6ccce7146103b557806355f804b3146103e55780635a8632be14610401576101f0565b8063248a9ca3146103015780632f2ff15d146103315780632f745c591461034d57806336568abe1461037d576101f0565b80630ca83480116101c35780630ca834801461028f578063156e29f6146102ab57806318160ddd146102c757806323b872dd146102e5576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190612c01565b61065f565b60405161021c9190612c49565b60405180910390f35b61022d610671565b60405161023a9190612cfd565b60405180910390f35b61025d60048036038101906102589190612d55565b610703565b60405161026a9190612dc3565b60405180910390f35b61028d60048036038101906102889190612e0a565b610749565b005b6102a960048036038101906102a49190612eaf565b610861565b005b6102c560048036038101906102c09190612f44565b610979565b005b6102cf6109ef565b6040516102dc9190612fa6565b60405180910390f35b6102ff60048036038101906102fa9190612fc1565b6109fc565b005b61031b6004803603810190610316919061304a565b610a5c565b6040516103289190613086565b60405180910390f35b61034b600480360381019061034691906130a1565b610a7c565b005b61036760048036038101906103629190612e0a565b610a9d565b6040516103749190612fa6565b60405180910390f35b610397600480360381019061039291906130a1565b610b42565b005b6103b360048036038101906103ae9190612fc1565b610bc5565b005b6103cf60048036038101906103ca9190612d55565b610be5565b6040516103dc9190612fa6565b60405180910390f35b6103ff60048036038101906103fa9190613211565b610c56565b005b61041b60048036038101906104169190613211565b610c7e565b005b6104376004803603810190610432919061325a565b610ca6565b005b610453600480360381019061044e9190612d55565b610d36565b6040516104609190612dc3565b60405180910390f35b610471610de8565b60405161047e9190612cfd565b60405180910390f35b6104a1600480360381019061049c919061325a565b610e76565b6040516104ae9190612fa6565b60405180910390f35b6104bf610f2e565b6040516104cc9190612cfd565b60405180910390f35b6104ef60048036038101906104ea91906130a1565b610fbc565b6040516104fc9190612c49565b60405180910390f35b61050d611027565b60405161051a9190612cfd565b60405180910390f35b61053d6004803603810190610538919061325a565b6110b9565b005b6105476110e6565b6040516105549190613086565b60405180910390f35b610577600480360381019061057291906132b3565b6110ed565b005b610593600480360381019061058e9190613394565b611103565b005b6105af60048036038101906105aa9190612d55565b611165565b6040516105bc9190612cfd565b60405180910390f35b6105cd611207565b6040516105da9190613086565b60405180910390f35b6105fd60048036038101906105f891906130a1565b61122b565b005b61061960048036038101906106149190612d55565b61124c565b6040516106269190612cfd565b60405180910390f35b61064960048036038101906106449190613417565b6112e4565b6040516106569190612c49565b60405180910390f35b600061066a82611378565b9050919050565b60606000805461068090613486565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90613486565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826113f2565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061075482610d36565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bc9061352a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107e461143d565b73ffffffffffffffffffffffffffffffffffffffff16148061081357506108128161080d61143d565b6112e4565b5b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906135bc565b60405180910390fd5b61085c8383611445565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661088b816114fe565b8282905085859050146108d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ca90613628565b60405180910390fd5b60005b858590508110156109315761091e878787848181106108f8576108f7613648565b5b9050602002013586868581811061091257610911613648565b5b90506020020135611512565b8080610929906136a6565b9150506108d6565b507f93d9352e8f6e79b3e3144d5ca245172bd8bf47e4c04480e7eeb7d0f2dbea6b948686868686604051610969959493929190613761565b60405180910390a1505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109a3816114fe565b6109ae848484611512565b7f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8484846040516109e1939291906137aa565b60405180910390a150505050565b6000600880549050905090565b610a0d610a0761143d565b826115a8565b610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390613853565b60405180910390fd5b610a5783838361163d565b505050565b6000600a6000838152602001908152602001600020600101549050919050565b610a8582610a5c565b610a8e816114fe565b610a9883836118a4565b505050565b6000610aa883610e76565b8210610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae0906138e5565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610b4a61143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90613977565b60405180910390fd5b610bc18282611985565b5050565b610be083838360405180602001604052806000815250611103565b505050565b6000610bef6109ef565b8210610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790613a09565b60405180910390fd5b60088281548110610c4457610c43613648565b5b90600052602060002001549050919050565b6000801b610c63816114fe565b81600b9080519060200190610c79929190612af2565b505050565b6000801b610c8b816114fe565b81600c9080519060200190610ca1929190612af2565b505050565b610cd77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd261143d565b610fbc565b50610d097f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d0461143d565b611a67565b610d337f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b42565b50565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690613a75565b60405180910390fd5b80915050919050565b600b8054610df590613486565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2190613486565b8015610e6e5780601f10610e4357610100808354040283529160200191610e6e565b820191906000526020600020905b815481529060010190602001808311610e5157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90613b07565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c8054610f3b90613486565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6790613486565b8015610fb45780601f10610f8957610100808354040283529160200191610fb4565b820191906000526020600020905b815481529060010190602001808311610f9757829003601f168201915b505050505081565b6000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606001805461103690613486565b80601f016020809104026020016040519081016040528092919081815260200182805461106290613486565b80156110af5780601f10611084576101008083540402835291602001916110af565b820191906000526020600020905b81548152906001019060200180831161109257829003601f168201915b5050505050905090565b6110e37f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610a7c565b50565b6000801b81565b6110ff6110f861143d565b8383611b04565b5050565b61111461110e61143d565b836115a8565b611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90613853565b60405180910390fd5b61115f84848484611c71565b50505050565b606061117082611ccd565b6111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690613a75565b60405180910390fd5b6000600d6000848152602001908152602001600020600001549050600b6111d582611d39565b6111de85611d39565b6040516020016111f093929190613c43565b604051602081830303815290604052915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61123482610a5c565b61123d816114fe565b6112478383611985565b505050565b606061125782611ccd565b611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d90613a75565b60405180910390fd5b6000600d6000848152602001908152602001600020600001549050600c6112bc82611d39565b6040516020016112cd929190613c8a565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113eb57506113ea82611e9a565b5b9050919050565b6113fb81611ccd565b61143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190613a75565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166114b883610d36565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61150f8161150a61143d565b611a67565b50565b6000604051806020016040528083815250905080600d60008581526020019081526020016000206000820151816000015590505061159783600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f1490919063ffffffff16565b506115a28484611f2e565b50505050565b6000806115b483610d36565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115f657506115f581856112e4565b5b8061163457508373ffffffffffffffffffffffffffffffffffffffff1661161c84610703565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661165d82610d36565b73ffffffffffffffffffffffffffffffffffffffff16146116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90613d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613dbd565b60405180910390fd5b61172e838383612108565b611739600082611445565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117899190613ddd565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117e09190613e11565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461189f83838361221c565b505050565b6118ae8282610fbc565b611981576001600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061192661143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61198f8282610fbc565b15611a63576000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a0861143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611a718282610fbc565b611b0057611a968173ffffffffffffffffffffffffffffffffffffffff166014612221565b611aa48360001c6020612221565b604051602001611ab5929190613eff565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79190612cfd565b60405180910390fd5b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6a90613f85565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c649190612c49565b60405180910390a3505050565b611c7c84848461163d565b611c888484848461245d565b611cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbe90614017565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60606000821415611d81576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611e95565b600082905060005b60008214611db3578080611d9c906136a6565b915050600a82611dac9190614066565b9150611d89565b60008167ffffffffffffffff811115611dcf57611dce6130e6565b5b6040519080825280601f01601f191660200182016040528015611e015781602001600182028036833780820191505090505b5090505b60008514611e8e57600182611e1a9190613ddd565b9150600a85611e299190614097565b6030611e359190613e11565b60f81b818381518110611e4b57611e4a613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611e879190614066565b9450611e05565b8093505050505b919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611f0d5750611f0c826125e5565b5b9050919050565b6000611f26836000018360001b6126c7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9590614114565b60405180910390fd5b611fa781611ccd565b15611fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fde90614180565b60405180910390fd5b611ff360008383612108565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120439190613e11565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121046000838361221c565b5050565b612113838383612737565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612156576121518161273c565b612195565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612194576121938382612785565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121d8576121d3816128f2565b612217565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122165761221582826129c3565b5b5b505050565b505050565b60606000600283600261223491906141a0565b61223e9190613e11565b67ffffffffffffffff811115612257576122566130e6565b5b6040519080825280601f01601f1916602001820160405280156122895781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106122c1576122c0613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061232557612324613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261236591906141a0565b61236f9190613e11565b90505b600181111561240f577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106123b1576123b0613648565b5b1a60f81b8282815181106123c8576123c7613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612408906141fa565b9050612372565b5060008414612453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244a90614270565b60405180910390fd5b8091505092915050565b600061247e8473ffffffffffffffffffffffffffffffffffffffff16612a42565b156125d8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124a761143d565b8786866040518563ffffffff1660e01b81526004016124c994939291906142e5565b6020604051808303816000875af192505050801561250557506040513d601f19601f820116820180604052508101906125029190614346565b60015b612588573d8060008114612535576040519150601f19603f3d011682016040523d82523d6000602084013e61253a565b606091505b50600081511415612580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257790614017565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506125dd565b600190505b949350505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806126b057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806126c057506126bf82612a65565b5b9050919050565b60006126d38383612acf565b61272c578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612731565b600090505b92915050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161279284610e76565b61279c9190613ddd565b9050600060076000848152602001908152602001600020549050818114612881576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506129069190613ddd565b905060006009600084815260200190815260200160002054905060006008838154811061293657612935613648565b5b90600052602060002001549050806008838154811061295857612957613648565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806129a7576129a6614373565b5b6001900381819060005260206000200160009055905550505050565b60006129ce83610e76565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080836001016000848152602001908152602001600020541415905092915050565b828054612afe90613486565b90600052602060002090601f016020900481019282612b205760008555612b67565b82601f10612b3957805160ff1916838001178555612b67565b82800160010185558215612b67579182015b82811115612b66578251825591602001919060010190612b4b565b5b509050612b749190612b78565b5090565b5b80821115612b91576000816000905550600101612b79565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612bde81612ba9565b8114612be957600080fd5b50565b600081359050612bfb81612bd5565b92915050565b600060208284031215612c1757612c16612b9f565b5b6000612c2584828501612bec565b91505092915050565b60008115159050919050565b612c4381612c2e565b82525050565b6000602082019050612c5e6000830184612c3a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c9e578082015181840152602081019050612c83565b83811115612cad576000848401525b50505050565b6000601f19601f8301169050919050565b6000612ccf82612c64565b612cd98185612c6f565b9350612ce9818560208601612c80565b612cf281612cb3565b840191505092915050565b60006020820190508181036000830152612d178184612cc4565b905092915050565b6000819050919050565b612d3281612d1f565b8114612d3d57600080fd5b50565b600081359050612d4f81612d29565b92915050565b600060208284031215612d6b57612d6a612b9f565b5b6000612d7984828501612d40565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dad82612d82565b9050919050565b612dbd81612da2565b82525050565b6000602082019050612dd86000830184612db4565b92915050565b612de781612da2565b8114612df257600080fd5b50565b600081359050612e0481612dde565b92915050565b60008060408385031215612e2157612e20612b9f565b5b6000612e2f85828601612df5565b9250506020612e4085828601612d40565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612e6f57612e6e612e4a565b5b8235905067ffffffffffffffff811115612e8c57612e8b612e4f565b5b602083019150836020820283011115612ea857612ea7612e54565b5b9250929050565b600080600080600060608688031215612ecb57612eca612b9f565b5b6000612ed988828901612df5565b955050602086013567ffffffffffffffff811115612efa57612ef9612ba4565b5b612f0688828901612e59565b9450945050604086013567ffffffffffffffff811115612f2957612f28612ba4565b5b612f3588828901612e59565b92509250509295509295909350565b600080600060608486031215612f5d57612f5c612b9f565b5b6000612f6b86828701612df5565b9350506020612f7c86828701612d40565b9250506040612f8d86828701612d40565b9150509250925092565b612fa081612d1f565b82525050565b6000602082019050612fbb6000830184612f97565b92915050565b600080600060608486031215612fda57612fd9612b9f565b5b6000612fe886828701612df5565b9350506020612ff986828701612df5565b925050604061300a86828701612d40565b9150509250925092565b6000819050919050565b61302781613014565b811461303257600080fd5b50565b6000813590506130448161301e565b92915050565b6000602082840312156130605761305f612b9f565b5b600061306e84828501613035565b91505092915050565b61308081613014565b82525050565b600060208201905061309b6000830184613077565b92915050565b600080604083850312156130b8576130b7612b9f565b5b60006130c685828601613035565b92505060206130d785828601612df5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61311e82612cb3565b810181811067ffffffffffffffff8211171561313d5761313c6130e6565b5b80604052505050565b6000613150612b95565b905061315c8282613115565b919050565b600067ffffffffffffffff82111561317c5761317b6130e6565b5b61318582612cb3565b9050602081019050919050565b82818337600083830152505050565b60006131b46131af84613161565b613146565b9050828152602081018484840111156131d0576131cf6130e1565b5b6131db848285613192565b509392505050565b600082601f8301126131f8576131f7612e4a565b5b81356132088482602086016131a1565b91505092915050565b60006020828403121561322757613226612b9f565b5b600082013567ffffffffffffffff81111561324557613244612ba4565b5b613251848285016131e3565b91505092915050565b6000602082840312156132705761326f612b9f565b5b600061327e84828501612df5565b91505092915050565b61329081612c2e565b811461329b57600080fd5b50565b6000813590506132ad81613287565b92915050565b600080604083850312156132ca576132c9612b9f565b5b60006132d885828601612df5565b92505060206132e98582860161329e565b9150509250929050565b600067ffffffffffffffff82111561330e5761330d6130e6565b5b61331782612cb3565b9050602081019050919050565b6000613337613332846132f3565b613146565b905082815260208101848484011115613353576133526130e1565b5b61335e848285613192565b509392505050565b600082601f83011261337b5761337a612e4a565b5b813561338b848260208601613324565b91505092915050565b600080600080608085870312156133ae576133ad612b9f565b5b60006133bc87828801612df5565b94505060206133cd87828801612df5565b93505060406133de87828801612d40565b925050606085013567ffffffffffffffff8111156133ff576133fe612ba4565b5b61340b87828801613366565b91505092959194509250565b6000806040838503121561342e5761342d612b9f565b5b600061343c85828601612df5565b925050602061344d85828601612df5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061349e57607f821691505b602082108114156134b2576134b1613457565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613514602183612c6f565b915061351f826134b8565b604082019050919050565b6000602082019050818103600083015261354381613507565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b60006135a6603e83612c6f565b91506135b18261354a565b604082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f6c656e677468206572726f720000000000000000000000000000000000000000600082015250565b6000613612600c83612c6f565b915061361d826135dc565b602082019050919050565b6000602082019050818103600083015261364181613605565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136b182612d1f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136e4576136e3613677565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b600061371183856136ef565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561374457613743613700565b5b602083029250613755838584613192565b82840190509392505050565b60006060820190506137766000830188612db4565b8181036020830152613789818688613705565b9050818103604083015261379e818486613705565b90509695505050505050565b60006060820190506137bf6000830186612db4565b6137cc6020830185612f97565b6137d96040830184612f97565b949350505050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b600061383d602e83612c6f565b9150613848826137e1565b604082019050919050565b6000602082019050818103600083015261386c81613830565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006138cf602b83612c6f565b91506138da82613873565b604082019050919050565b600060208201905081810360008301526138fe816138c2565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613961602f83612c6f565b915061396c82613905565b604082019050919050565b6000602082019050818103600083015261399081613954565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006139f3602c83612c6f565b91506139fe82613997565b604082019050919050565b60006020820190508181036000830152613a22816139e6565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613a5f601883612c6f565b9150613a6a82613a29565b602082019050919050565b60006020820190508181036000830152613a8e81613a52565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613af1602983612c6f565b9150613afc82613a95565b604082019050919050565b60006020820190508181036000830152613b2081613ae4565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154613b5481613486565b613b5e8186613b27565b94506001821660008114613b795760018114613b8a57613bbd565b60ff19831686528186019350613bbd565b613b9385613b32565b60005b83811015613bb557815481890152600182019150602081019050613b96565b838801955050505b50505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b6000613bfc600183613b27565b9150613c0782613bc6565b600182019050919050565b6000613c1d82612c64565b613c278185613b27565b9350613c37818560208601612c80565b80840191505092915050565b6000613c4f8286613b47565b9150613c5a82613bef565b9150613c668285613c12565b9150613c7182613bef565b9150613c7d8284613c12565b9150819050949350505050565b6000613c968285613b47565b9150613ca182613bef565b9150613cad8284613c12565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613d15602583612c6f565b9150613d2082613cb9565b604082019050919050565b60006020820190508181036000830152613d4481613d08565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613da7602483612c6f565b9150613db282613d4b565b604082019050919050565b60006020820190508181036000830152613dd681613d9a565b9050919050565b6000613de882612d1f565b9150613df383612d1f565b925082821015613e0657613e05613677565b5b828203905092915050565b6000613e1c82612d1f565b9150613e2783612d1f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e5c57613e5b613677565b5b828201905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613e9d601783613b27565b9150613ea882613e67565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613ee9601183613b27565b9150613ef482613eb3565b601182019050919050565b6000613f0a82613e90565b9150613f168285613c12565b9150613f2182613edc565b9150613f2d8284613c12565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613f6f601983612c6f565b9150613f7a82613f39565b602082019050919050565b60006020820190508181036000830152613f9e81613f62565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614001603283612c6f565b915061400c82613fa5565b604082019050919050565b6000602082019050818103600083015261403081613ff4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061407182612d1f565b915061407c83612d1f565b92508261408c5761408b614037565b5b828204905092915050565b60006140a282612d1f565b91506140ad83612d1f565b9250826140bd576140bc614037565b5b828206905092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006140fe602083612c6f565b9150614109826140c8565b602082019050919050565b6000602082019050818103600083015261412d816140f1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061416a601c83612c6f565b915061417582614134565b602082019050919050565b600060208201905081810360008301526141998161415d565b9050919050565b60006141ab82612d1f565b91506141b683612d1f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141ef576141ee613677565b5b828202905092915050565b600061420582612d1f565b9150600082141561421957614218613677565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061425a602083612c6f565b915061426582614224565b602082019050919050565b600060208201905081810360008301526142898161424d565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006142b782614290565b6142c1818561429b565b93506142d1818560208601612c80565b6142da81612cb3565b840191505092915050565b60006080820190506142fa6000830187612db4565b6143076020830186612db4565b6143146040830185612f97565b818103606083015261432681846142ac565b905095945050505050565b60008151905061434081612bd5565b92915050565b60006020828403121561435c5761435b612b9f565b5b600061436a84828501614331565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200a5a5f5baf8dee66f5f701fc93f094e458f25ac4a48113a57279534e40dbfc1d64736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80635f112c681161010f578063a217fddf116100a2578063d539139311610071578063d5391393146105c5578063d547741f146105e3578063db487f36146105ff578063e985e9c51461062f576101f0565b8063a217fddf1461053f578063a22cb4651461055d578063b88d4fde14610579578063c87b56dd14610595576101f0565b806374f962e0116100de57806374f962e0146104b757806391d14854146104d557806395d89b4114610505578063983b2d5614610523576101f0565b80635f112c681461041d5780636352211e146104395780636c0360eb1461046957806370a0823114610487576101f0565b8063248a9ca31161018757806342842e0e1161015657806342842e0e146103995780634f6ccce7146103b557806355f804b3146103e55780635a8632be14610401576101f0565b8063248a9ca3146103015780632f2ff15d146103315780632f745c591461034d57806336568abe1461037d576101f0565b80630ca83480116101c35780630ca834801461028f578063156e29f6146102ab57806318160ddd146102c757806323b872dd146102e5576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190612c01565b61065f565b60405161021c9190612c49565b60405180910390f35b61022d610671565b60405161023a9190612cfd565b60405180910390f35b61025d60048036038101906102589190612d55565b610703565b60405161026a9190612dc3565b60405180910390f35b61028d60048036038101906102889190612e0a565b610749565b005b6102a960048036038101906102a49190612eaf565b610861565b005b6102c560048036038101906102c09190612f44565b610979565b005b6102cf6109ef565b6040516102dc9190612fa6565b60405180910390f35b6102ff60048036038101906102fa9190612fc1565b6109fc565b005b61031b6004803603810190610316919061304a565b610a5c565b6040516103289190613086565b60405180910390f35b61034b600480360381019061034691906130a1565b610a7c565b005b61036760048036038101906103629190612e0a565b610a9d565b6040516103749190612fa6565b60405180910390f35b610397600480360381019061039291906130a1565b610b42565b005b6103b360048036038101906103ae9190612fc1565b610bc5565b005b6103cf60048036038101906103ca9190612d55565b610be5565b6040516103dc9190612fa6565b60405180910390f35b6103ff60048036038101906103fa9190613211565b610c56565b005b61041b60048036038101906104169190613211565b610c7e565b005b6104376004803603810190610432919061325a565b610ca6565b005b610453600480360381019061044e9190612d55565b610d36565b6040516104609190612dc3565b60405180910390f35b610471610de8565b60405161047e9190612cfd565b60405180910390f35b6104a1600480360381019061049c919061325a565b610e76565b6040516104ae9190612fa6565b60405180910390f35b6104bf610f2e565b6040516104cc9190612cfd565b60405180910390f35b6104ef60048036038101906104ea91906130a1565b610fbc565b6040516104fc9190612c49565b60405180910390f35b61050d611027565b60405161051a9190612cfd565b60405180910390f35b61053d6004803603810190610538919061325a565b6110b9565b005b6105476110e6565b6040516105549190613086565b60405180910390f35b610577600480360381019061057291906132b3565b6110ed565b005b610593600480360381019061058e9190613394565b611103565b005b6105af60048036038101906105aa9190612d55565b611165565b6040516105bc9190612cfd565b60405180910390f35b6105cd611207565b6040516105da9190613086565b60405180910390f35b6105fd60048036038101906105f891906130a1565b61122b565b005b61061960048036038101906106149190612d55565b61124c565b6040516106269190612cfd565b60405180910390f35b61064960048036038101906106449190613417565b6112e4565b6040516106569190612c49565b60405180910390f35b600061066a82611378565b9050919050565b60606000805461068090613486565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90613486565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826113f2565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061075482610d36565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bc9061352a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107e461143d565b73ffffffffffffffffffffffffffffffffffffffff16148061081357506108128161080d61143d565b6112e4565b5b610852576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610849906135bc565b60405180910390fd5b61085c8383611445565b505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661088b816114fe565b8282905085859050146108d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ca90613628565b60405180910390fd5b60005b858590508110156109315761091e878787848181106108f8576108f7613648565b5b9050602002013586868581811061091257610911613648565b5b90506020020135611512565b8080610929906136a6565b9150506108d6565b507f93d9352e8f6e79b3e3144d5ca245172bd8bf47e4c04480e7eeb7d0f2dbea6b948686868686604051610969959493929190613761565b60405180910390a1505050505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109a3816114fe565b6109ae848484611512565b7f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8484846040516109e1939291906137aa565b60405180910390a150505050565b6000600880549050905090565b610a0d610a0761143d565b826115a8565b610a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4390613853565b60405180910390fd5b610a5783838361163d565b505050565b6000600a6000838152602001908152602001600020600101549050919050565b610a8582610a5c565b610a8e816114fe565b610a9883836118a4565b505050565b6000610aa883610e76565b8210610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae0906138e5565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610b4a61143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae90613977565b60405180910390fd5b610bc18282611985565b5050565b610be083838360405180602001604052806000815250611103565b505050565b6000610bef6109ef565b8210610c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2790613a09565b60405180910390fd5b60088281548110610c4457610c43613648565b5b90600052602060002001549050919050565b6000801b610c63816114fe565b81600b9080519060200190610c79929190612af2565b505050565b6000801b610c8b816114fe565b81600c9080519060200190610ca1929190612af2565b505050565b610cd77f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd261143d565b610fbc565b50610d097f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d0461143d565b611a67565b610d337f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b42565b50565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ddf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd690613a75565b60405180910390fd5b80915050919050565b600b8054610df590613486565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2190613486565b8015610e6e5780601f10610e4357610100808354040283529160200191610e6e565b820191906000526020600020905b815481529060010190602001808311610e5157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ede90613b07565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c8054610f3b90613486565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6790613486565b8015610fb45780601f10610f8957610100808354040283529160200191610fb4565b820191906000526020600020905b815481529060010190602001808311610f9757829003601f168201915b505050505081565b6000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606001805461103690613486565b80601f016020809104026020016040519081016040528092919081815260200182805461106290613486565b80156110af5780601f10611084576101008083540402835291602001916110af565b820191906000526020600020905b81548152906001019060200180831161109257829003601f168201915b5050505050905090565b6110e37f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610a7c565b50565b6000801b81565b6110ff6110f861143d565b8383611b04565b5050565b61111461110e61143d565b836115a8565b611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a90613853565b60405180910390fd5b61115f84848484611c71565b50505050565b606061117082611ccd565b6111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690613a75565b60405180910390fd5b6000600d6000848152602001908152602001600020600001549050600b6111d582611d39565b6111de85611d39565b6040516020016111f093929190613c43565b604051602081830303815290604052915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61123482610a5c565b61123d816114fe565b6112478383611985565b505050565b606061125782611ccd565b611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128d90613a75565b60405180910390fd5b6000600d6000848152602001908152602001600020600001549050600c6112bc82611d39565b6040516020016112cd929190613c8a565b604051602081830303815290604052915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113eb57506113ea82611e9a565b5b9050919050565b6113fb81611ccd565b61143a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143190613a75565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166114b883610d36565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61150f8161150a61143d565b611a67565b50565b6000604051806020016040528083815250905080600d60008581526020019081526020016000206000820151816000015590505061159783600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f1490919063ffffffff16565b506115a28484611f2e565b50505050565b6000806115b483610d36565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806115f657506115f581856112e4565b5b8061163457508373ffffffffffffffffffffffffffffffffffffffff1661161c84610703565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661165d82610d36565b73ffffffffffffffffffffffffffffffffffffffff16146116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90613d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90613dbd565b60405180910390fd5b61172e838383612108565b611739600082611445565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117899190613ddd565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117e09190613e11565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461189f83838361221c565b505050565b6118ae8282610fbc565b611981576001600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061192661143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61198f8282610fbc565b15611a63576000600a600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a0861143d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611a718282610fbc565b611b0057611a968173ffffffffffffffffffffffffffffffffffffffff166014612221565b611aa48360001c6020612221565b604051602001611ab5929190613eff565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af79190612cfd565b60405180910390fd5b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6a90613f85565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c649190612c49565b60405180910390a3505050565b611c7c84848461163d565b611c888484848461245d565b611cc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cbe90614017565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60606000821415611d81576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611e95565b600082905060005b60008214611db3578080611d9c906136a6565b915050600a82611dac9190614066565b9150611d89565b60008167ffffffffffffffff811115611dcf57611dce6130e6565b5b6040519080825280601f01601f191660200182016040528015611e015781602001600182028036833780820191505090505b5090505b60008514611e8e57600182611e1a9190613ddd565b9150600a85611e299190614097565b6030611e359190613e11565b60f81b818381518110611e4b57611e4a613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611e879190614066565b9450611e05565b8093505050505b919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611f0d5750611f0c826125e5565b5b9050919050565b6000611f26836000018360001b6126c7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9590614114565b60405180910390fd5b611fa781611ccd565b15611fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fde90614180565b60405180910390fd5b611ff360008383612108565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120439190613e11565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46121046000838361221c565b5050565b612113838383612737565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612156576121518161273c565b612195565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612194576121938382612785565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121d8576121d3816128f2565b612217565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122165761221582826129c3565b5b5b505050565b505050565b60606000600283600261223491906141a0565b61223e9190613e11565b67ffffffffffffffff811115612257576122566130e6565b5b6040519080825280601f01601f1916602001820160405280156122895781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106122c1576122c0613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061232557612324613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261236591906141a0565b61236f9190613e11565b90505b600181111561240f577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106123b1576123b0613648565b5b1a60f81b8282815181106123c8576123c7613648565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612408906141fa565b9050612372565b5060008414612453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244a90614270565b60405180910390fd5b8091505092915050565b600061247e8473ffffffffffffffffffffffffffffffffffffffff16612a42565b156125d8578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124a761143d565b8786866040518563ffffffff1660e01b81526004016124c994939291906142e5565b6020604051808303816000875af192505050801561250557506040513d601f19601f820116820180604052508101906125029190614346565b60015b612588573d8060008114612535576040519150601f19603f3d011682016040523d82523d6000602084013e61253a565b606091505b50600081511415612580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257790614017565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506125dd565b600190505b949350505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806126b057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806126c057506126bf82612a65565b5b9050919050565b60006126d38383612acf565b61272c578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612731565b600090505b92915050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161279284610e76565b61279c9190613ddd565b9050600060076000848152602001908152602001600020549050818114612881576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506129069190613ddd565b905060006009600084815260200190815260200160002054905060006008838154811061293657612935613648565b5b90600052602060002001549050806008838154811061295857612957613648565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806129a7576129a6614373565b5b6001900381819060005260206000200160009055905550505050565b60006129ce83610e76565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080836001016000848152602001908152602001600020541415905092915050565b828054612afe90613486565b90600052602060002090601f016020900481019282612b205760008555612b67565b82601f10612b3957805160ff1916838001178555612b67565b82800160010185558215612b67579182015b82811115612b66578251825591602001919060010190612b4b565b5b509050612b749190612b78565b5090565b5b80821115612b91576000816000905550600101612b79565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612bde81612ba9565b8114612be957600080fd5b50565b600081359050612bfb81612bd5565b92915050565b600060208284031215612c1757612c16612b9f565b5b6000612c2584828501612bec565b91505092915050565b60008115159050919050565b612c4381612c2e565b82525050565b6000602082019050612c5e6000830184612c3a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612c9e578082015181840152602081019050612c83565b83811115612cad576000848401525b50505050565b6000601f19601f8301169050919050565b6000612ccf82612c64565b612cd98185612c6f565b9350612ce9818560208601612c80565b612cf281612cb3565b840191505092915050565b60006020820190508181036000830152612d178184612cc4565b905092915050565b6000819050919050565b612d3281612d1f565b8114612d3d57600080fd5b50565b600081359050612d4f81612d29565b92915050565b600060208284031215612d6b57612d6a612b9f565b5b6000612d7984828501612d40565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dad82612d82565b9050919050565b612dbd81612da2565b82525050565b6000602082019050612dd86000830184612db4565b92915050565b612de781612da2565b8114612df257600080fd5b50565b600081359050612e0481612dde565b92915050565b60008060408385031215612e2157612e20612b9f565b5b6000612e2f85828601612df5565b9250506020612e4085828601612d40565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612e6f57612e6e612e4a565b5b8235905067ffffffffffffffff811115612e8c57612e8b612e4f565b5b602083019150836020820283011115612ea857612ea7612e54565b5b9250929050565b600080600080600060608688031215612ecb57612eca612b9f565b5b6000612ed988828901612df5565b955050602086013567ffffffffffffffff811115612efa57612ef9612ba4565b5b612f0688828901612e59565b9450945050604086013567ffffffffffffffff811115612f2957612f28612ba4565b5b612f3588828901612e59565b92509250509295509295909350565b600080600060608486031215612f5d57612f5c612b9f565b5b6000612f6b86828701612df5565b9350506020612f7c86828701612d40565b9250506040612f8d86828701612d40565b9150509250925092565b612fa081612d1f565b82525050565b6000602082019050612fbb6000830184612f97565b92915050565b600080600060608486031215612fda57612fd9612b9f565b5b6000612fe886828701612df5565b9350506020612ff986828701612df5565b925050604061300a86828701612d40565b9150509250925092565b6000819050919050565b61302781613014565b811461303257600080fd5b50565b6000813590506130448161301e565b92915050565b6000602082840312156130605761305f612b9f565b5b600061306e84828501613035565b91505092915050565b61308081613014565b82525050565b600060208201905061309b6000830184613077565b92915050565b600080604083850312156130b8576130b7612b9f565b5b60006130c685828601613035565b92505060206130d785828601612df5565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61311e82612cb3565b810181811067ffffffffffffffff8211171561313d5761313c6130e6565b5b80604052505050565b6000613150612b95565b905061315c8282613115565b919050565b600067ffffffffffffffff82111561317c5761317b6130e6565b5b61318582612cb3565b9050602081019050919050565b82818337600083830152505050565b60006131b46131af84613161565b613146565b9050828152602081018484840111156131d0576131cf6130e1565b5b6131db848285613192565b509392505050565b600082601f8301126131f8576131f7612e4a565b5b81356132088482602086016131a1565b91505092915050565b60006020828403121561322757613226612b9f565b5b600082013567ffffffffffffffff81111561324557613244612ba4565b5b613251848285016131e3565b91505092915050565b6000602082840312156132705761326f612b9f565b5b600061327e84828501612df5565b91505092915050565b61329081612c2e565b811461329b57600080fd5b50565b6000813590506132ad81613287565b92915050565b600080604083850312156132ca576132c9612b9f565b5b60006132d885828601612df5565b92505060206132e98582860161329e565b9150509250929050565b600067ffffffffffffffff82111561330e5761330d6130e6565b5b61331782612cb3565b9050602081019050919050565b6000613337613332846132f3565b613146565b905082815260208101848484011115613353576133526130e1565b5b61335e848285613192565b509392505050565b600082601f83011261337b5761337a612e4a565b5b813561338b848260208601613324565b91505092915050565b600080600080608085870312156133ae576133ad612b9f565b5b60006133bc87828801612df5565b94505060206133cd87828801612df5565b93505060406133de87828801612d40565b925050606085013567ffffffffffffffff8111156133ff576133fe612ba4565b5b61340b87828801613366565b91505092959194509250565b6000806040838503121561342e5761342d612b9f565b5b600061343c85828601612df5565b925050602061344d85828601612df5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061349e57607f821691505b602082108114156134b2576134b1613457565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613514602183612c6f565b915061351f826134b8565b604082019050919050565b6000602082019050818103600083015261354381613507565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b60006135a6603e83612c6f565b91506135b18261354a565b604082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b7f6c656e677468206572726f720000000000000000000000000000000000000000600082015250565b6000613612600c83612c6f565b915061361d826135dc565b602082019050919050565b6000602082019050818103600083015261364181613605565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136b182612d1f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136e4576136e3613677565b5b600182019050919050565b600082825260208201905092915050565b600080fd5b600061371183856136ef565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561374457613743613700565b5b602083029250613755838584613192565b82840190509392505050565b60006060820190506137766000830188612db4565b8181036020830152613789818688613705565b9050818103604083015261379e818486613705565b90509695505050505050565b60006060820190506137bf6000830186612db4565b6137cc6020830185612f97565b6137d96040830184612f97565b949350505050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b600061383d602e83612c6f565b9150613848826137e1565b604082019050919050565b6000602082019050818103600083015261386c81613830565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006138cf602b83612c6f565b91506138da82613873565b604082019050919050565b600060208201905081810360008301526138fe816138c2565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613961602f83612c6f565b915061396c82613905565b604082019050919050565b6000602082019050818103600083015261399081613954565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006139f3602c83612c6f565b91506139fe82613997565b604082019050919050565b60006020820190508181036000830152613a22816139e6565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613a5f601883612c6f565b9150613a6a82613a29565b602082019050919050565b60006020820190508181036000830152613a8e81613a52565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613af1602983612c6f565b9150613afc82613a95565b604082019050919050565b60006020820190508181036000830152613b2081613ae4565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154613b5481613486565b613b5e8186613b27565b94506001821660008114613b795760018114613b8a57613bbd565b60ff19831686528186019350613bbd565b613b9385613b32565b60005b83811015613bb557815481890152600182019150602081019050613b96565b838801955050505b50505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b6000613bfc600183613b27565b9150613c0782613bc6565b600182019050919050565b6000613c1d82612c64565b613c278185613b27565b9350613c37818560208601612c80565b80840191505092915050565b6000613c4f8286613b47565b9150613c5a82613bef565b9150613c668285613c12565b9150613c7182613bef565b9150613c7d8284613c12565b9150819050949350505050565b6000613c968285613b47565b9150613ca182613bef565b9150613cad8284613c12565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613d15602583612c6f565b9150613d2082613cb9565b604082019050919050565b60006020820190508181036000830152613d4481613d08565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613da7602483612c6f565b9150613db282613d4b565b604082019050919050565b60006020820190508181036000830152613dd681613d9a565b9050919050565b6000613de882612d1f565b9150613df383612d1f565b925082821015613e0657613e05613677565b5b828203905092915050565b6000613e1c82612d1f565b9150613e2783612d1f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e5c57613e5b613677565b5b828201905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613e9d601783613b27565b9150613ea882613e67565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613ee9601183613b27565b9150613ef482613eb3565b601182019050919050565b6000613f0a82613e90565b9150613f168285613c12565b9150613f2182613edc565b9150613f2d8284613c12565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613f6f601983612c6f565b9150613f7a82613f39565b602082019050919050565b60006020820190508181036000830152613f9e81613f62565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614001603283612c6f565b915061400c82613fa5565b604082019050919050565b6000602082019050818103600083015261403081613ff4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061407182612d1f565b915061407c83612d1f565b92508261408c5761408b614037565b5b828204905092915050565b60006140a282612d1f565b91506140ad83612d1f565b9250826140bd576140bc614037565b5b828206905092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006140fe602083612c6f565b9150614109826140c8565b602082019050919050565b6000602082019050818103600083015261412d816140f1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061416a601c83612c6f565b915061417582614134565b602082019050919050565b600060208201905081810360008301526141998161415d565b9050919050565b60006141ab82612d1f565b91506141b683612d1f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141ef576141ee613677565b5b828202905092915050565b600061420582612d1f565b9150600082141561421957614218613677565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061425a602083612c6f565b915061426582614224565b602082019050919050565b600060208201905081810360008301526142898161424d565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006142b782614290565b6142c1818561429b565b93506142d1818560208601612c80565b6142da81612cb3565b840191505092915050565b60006080820190506142fa6000830187612db4565b6143076020830186612db4565b6143146040830185612f97565b818103606083015261432681846142ac565b905095945050505050565b60008151905061434081612bd5565b92915050565b60006020828403121561435c5761435b612b9f565b5b600061436a84828501614331565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200a5a5f5baf8dee66f5f701fc93f094e458f25ac4a48113a57279534e40dbfc1d64736f6c634300080a0033", - "immutableReferences": {}, + "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\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"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\":\"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\":\"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.\"},\"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/NFT.sol\":\"NFT\"},\"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/NFT.sol\":{\"keccak256\":\"0x6ac8f4ab6c3ffc5bfa2ec06231a60bbec5f86cc056f81a47010230c8789a29a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f17872664f81d2bcf9f1f265e685e6d010bf49a3de31d48f1f94b6915497ede5\",\"dweb:/ipfs/QmWCW5ZpFKVaDwec3DGKL76yWWyoadmbfLxYnaYYW5kq2F\"]}},\"version\":1}", + "bytecode": "0x60a06040526040518060600160405280602781526020016200535060279139600c908051906020019062000035929190620003f5565b503480156200004357600080fd5b50604051620053773803806200537783398181016040528101906200006991906200067d565b8282816001908051906020019062000083929190620003f5565b5080600290805190602001906200009c929190620003f5565b505050620000d47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b620001fa60201b60201c565b620001097fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b620001fa60201b60201c565b6200013e7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b620001fa60201b60201c565b620001536000801b336200025d60201b60201c565b620001857f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200025d60201b60201c565b620001b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22336200025d60201b60201c565b620001e97fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751336200025d60201b60201c565b80608081815250505050506200077c565b60006200020d836200027360201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200026f82826200029260201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002a482826200038360201b60201c565b6200037f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000324620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620004039062000746565b90600052602060002090601f01602090048101928262000427576000855562000473565b82601f106200044257805160ff191683800117855562000473565b8280016001018555821562000473579182015b828111156200047257825182559160200191906001019062000455565b5b50905062000482919062000486565b5090565b5b80821115620004a157600081600090555060010162000487565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050e82620004c3565b810181811067ffffffffffffffff8211171562000530576200052f620004d4565b5b80604052505050565b600062000545620004a5565b905062000553828262000503565b919050565b600067ffffffffffffffff821115620005765762000575620004d4565b5b6200058182620004c3565b9050602081019050919050565b60005b83811015620005ae57808201518184015260208101905062000591565b83811115620005be576000848401525b50505050565b6000620005db620005d58462000558565b62000539565b905082815260208101848484011115620005fa57620005f9620004be565b5b620006078482856200058e565b509392505050565b600082601f830112620006275762000626620004b9565b5b815162000639848260208601620005c4565b91505092915050565b6000819050919050565b620006578162000642565b81146200066357600080fd5b50565b60008151905062000677816200064c565b92915050565b600080600060608486031215620006995762000698620004af565b5b600084015167ffffffffffffffff811115620006ba57620006b9620004b4565b5b620006c8868287016200060f565b935050602084015167ffffffffffffffff811115620006ec57620006eb620004b4565b5b620006fa868287016200060f565b92505060406200070d8682870162000666565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200075f57607f821691505b6020821081141562000776576200077562000717565b5b50919050565b608051614baa620007a6600039600081816109ea01528181610d580152610d7f0152614baa6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636198e3391161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106d2578063dcec3294146106ee578063dd4670641461071e578063e985e9c51461073a578063f6aacfb11461076a5761023d565b8063ace9e2e21461062e578063b88d4fde1461064a578063b930908f14610666578063c87b56dd14610684578063d5391393146106b45761023d565b8063931688cb116100ff578063931688cb1461059e57806395d89b41146105ba578063965f4c60146105d8578063a217fddf146105f4578063a22cb465146106125761023d565b80636198e339146104d65780636352211e146104f257806370a082311461052257806379deb6e71461055257806391d148541461056e5761023d565b80632f286b1b116101c957806342842e0e1161018d57806342842e0e1461042257806342966c681461043e5780634684d7e91461045a5780634f6ccce71461048a578063530dd079146104ba5761023d565b80632f286b1b146103805780632f2ff15d1461039e5780632f745c59146103ba578063327ba615146103ea57806336568abe146104065761023d565b806318160ddd1161021057806318160ddd146102dc57806319d1997a146102fa5780631cf4e3ee1461031857806323b872dd14610334578063248a9ca3146103505761023d565b806301ffc9a71461024257806306fdde0314610272578063081812fc14610290578063095ea7b3146102c0575b600080fd5b61025c60048036038101906102579190613119565b61079a565b6040516102699190613161565b60405180910390f35b61027a6107ac565b6040516102879190613215565b60405180910390f35b6102aa60048036038101906102a5919061326d565b61083e565b6040516102b791906132db565b60405180910390f35b6102da60048036038101906102d59190613322565b6108c3565b005b6102e46109db565b6040516102f19190613371565b60405180910390f35b6103026109e8565b60405161030f9190613371565b60405180910390f35b610332600480360381019061032d919061338c565b610a0c565b005b61034e600480360381019061034991906133b9565b610a39565b005b61036a60048036038101906103659190613442565b610a99565b604051610377919061347e565b60405180910390f35b610388610ab8565b604051610395919061347e565b60405180910390f35b6103b860048036038101906103b39190613499565b610adc565b005b6103d460048036038101906103cf9190613322565b610b05565b6040516103e19190613371565b60405180910390f35b61040460048036038101906103ff919061338c565b610baa565b005b610420600480360381019061041b9190613499565b610bd7565b005b61043c600480360381019061043791906133b9565b610c5a565b005b6104586004803603810190610453919061326d565b610c7a565b005b610474600480360381019061046f9190613621565b610cd6565b604051610481919061373b565b60405180910390f35b6104a4600480360381019061049f919061326d565b610eb7565b6040516104b19190613371565b60405180910390f35b6104d460048036038101906104cf919061338c565b610f28565b005b6104f060048036038101906104eb919061326d565b610f55565b005b61050c6004803603810190610507919061326d565b61108c565b60405161051991906132db565b60405180910390f35b61053c6004803603810190610537919061338c565b61113e565b6040516105499190613371565b60405180910390f35b61056c6004803603810190610567919061338c565b6111f6565b005b61058860048036038101906105839190613499565b611223565b6040516105959190613161565b60405180910390f35b6105b860048036038101906105b391906137b8565b61128d565b005b6105c26112b9565b6040516105cf9190613215565b60405180910390f35b6105f260048036038101906105ed919061338c565b61134b565b005b6105fc611378565b604051610609919061347e565b60405180910390f35b61062c60048036038101906106279190613831565b61137f565b005b6106486004803603810190610643919061338c565b611395565b005b610664600480360381019061065f9190613926565b6113c2565b005b61066e611424565b60405161067b919061347e565b60405180910390f35b61069e6004803603810190610699919061326d565b611448565b6040516106ab9190613215565b60405180910390f35b6106bc6114ef565b6040516106c9919061347e565b60405180910390f35b6106ec60048036038101906106e79190613499565b611513565b005b6107086004803603810190610703919061326d565b61153c565b6040516107159190613161565b60405180910390f35b6107386004803603810190610733919061326d565b61155c565b005b610754600480360381019061074f91906139a9565b611694565b6040516107619190613161565b60405180910390f35b610784600480360381019061077f919061326d565b611728565b6040516107919190613161565b60405180910390f35b60006107a582611752565b9050919050565b6060600180546107bb90613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546107e790613a18565b80156108345780601f1061080957610100808354040283529160200191610834565b820191906000526020600020905b81548152906001019060200180831161081757829003601f168201915b5050505050905090565b6000610849826117cc565b610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90613abc565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108ce8261108c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690613b4e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095e611838565b73ffffffffffffffffffffffffffffffffffffffff16148061098d575061098c81610987611838565b611694565b5b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390613be0565b60405180910390fd5b6109d68383611840565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a367f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611513565b50565b610a4a610a44611838565b826118f9565b610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613c72565b60405180910390fd5b610a948383836119d7565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610ae582610a99565b610af681610af1611838565b611c3e565b610b008383611cdb565b505050565b6000610b108361113e565b8210610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890613d04565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bd47fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610adc565b50565b610bdf611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4390613d96565b60405180910390fd5b610c568282611dbb565b5050565b610c75838383604051806020016040528060008152506113c2565b505050565b610c8b610c85611838565b826118f9565b610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613e02565b60405180910390fd5b610cd381611e9c565b50565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d0a81610d05611838565b611c3e565b6000835190506064811115610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90613e6e565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610df3577f000000000000000000000000000000000000000000000000000000000000000081610da76109db565b610db19190613ebd565b1115610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990613f5f565b60405180910390fd5b5b60005b81811015610e5d576001600d6000828254610e119190613ebd565b925050819055506000600d549050610e298782611fb9565b80868381518110610e3d57610e3c613f7f565b5b602002602001018181525050508080610e5590613fae565b915050610df6565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243185604051610ea4919061373b565b60405180910390a2839250505092915050565b6000610ec16109db565b8210610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990614069565b60405180910390fd5b60098281548110610f1657610f15613f7f565b5b90600052602060002001549050919050565b610f527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610adc565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f8781610f82611838565b611c3e565b610f90826117cc565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc6906140d5565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690614141565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c906141d3565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690614265565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112207fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182611513565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112a28161129d611838565b611c3e565b8282600c91906112b392919061300a565b50505050565b6060600280546112c890613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546112f490613a18565b80156113415780601f1061131657610100808354040283529160200191611341565b820191906000526020600020905b81548152906001019060200180831161132457829003601f168201915b5050505050905090565b6113757fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282611513565b50565b6000801b81565b61139161138a611838565b8383611fd7565b5050565b6113bf7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610adc565b50565b6113d36113cd611838565b836118f9565b611412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140990613c72565b60405180910390fd5b61141e84848484612144565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b6060611453826117cc565b611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906142f7565b60405180910390fd5b600061149c6121a0565b905060008151116114bc57604051806020016040528060008152506114e7565b806114c684612232565b6040516020016114d7929190614353565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61151c82610a99565b61152d81611528611838565b611c3e565b6115378383611dbb565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161158e81611589611838565b611c3e565b611597826117cc565b6115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd906140d5565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e906143c3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806117c557506117c482612393565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166118b38361108c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611904826117cc565b611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90614455565b60405180910390fd5b600061194e8361108c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119bd57508373ffffffffffffffffffffffffffffffffffffffff166119a58461083e565b73ffffffffffffffffffffffffffffffffffffffff16145b806119ce57506119cd8185611694565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166119f78261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a44906144e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab490614579565b60405180910390fd5b611ac8838383612475565b611ad3600082611840565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b239190614599565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b7a9190613ebd565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c398383836124e6565b505050565b611c488282611223565b611cd757611c6d8173ffffffffffffffffffffffffffffffffffffffff1660146124eb565b611c7b8360001c60206124eb565b604051602001611c8c929190614665565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce9190613215565b60405180910390fd5b5050565b611ce58282611223565b611db757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d5c611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611dc58282611223565b15611e9857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e3d611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611ea78261108c565b9050611eb581600084612475565b611ec0600083611840565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f109190614599565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611fb5816000846124e6565b5050565b611fd3828260405180602001604052806000815250612727565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203d906146eb565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121379190613161565b60405180910390a3505050565b61214f8484846119d7565b61215b84848484612782565b61219a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121919061477d565b60405180910390fd5b50505050565b6060600c80546121af90613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546121db90613a18565b80156122285780601f106121fd57610100808354040283529160200191612228565b820191906000526020600020905b81548152906001019060200180831161220b57829003601f168201915b5050505050905090565b6060600082141561227a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061238e565b600082905060005b600082146122ac57808061229590613fae565b915050600a826122a591906147cc565b9150612282565b60008167ffffffffffffffff8111156122c8576122c76134de565b5b6040519080825280601f01601f1916602001820160405280156122fa5781602001600182028036833780820191505090505b5090505b60008514612387576001826123139190614599565b9150600a8561232291906147fd565b603061232e9190613ebd565b60f81b81838151811061234457612343613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561238091906147cc565b94506122fe565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061245e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061246e575061246d8261290a565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff16156124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd9061487a565b60405180910390fd5b6124e1838383612984565b505050565b505050565b6060600060028360026124fe919061489a565b6125089190613ebd565b67ffffffffffffffff811115612521576125206134de565b5b6040519080825280601f01601f1916602001820160405280156125535781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061258b5761258a613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106125ef576125ee613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261262f919061489a565b6126399190613ebd565b90505b60018111156126d9577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061267b5761267a613f7f565b5b1a60f81b82828151811061269257612691613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806126d2906148f4565b905061263c565b506000841461271d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127149061496a565b60405180910390fd5b8091505092915050565b6127318383612a98565b61273e6000848484612782565b61277d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127749061477d565b60405180910390fd5b505050565b60006127a38473ffffffffffffffffffffffffffffffffffffffff16612c72565b156128fd578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026127cc611838565b8786866040518563ffffffff1660e01b81526004016127ee94939291906149df565b6020604051808303816000875af192505050801561282a57506040513d601f19601f820116820180604052508101906128279190614a40565b60015b6128ad573d806000811461285a576040519150601f19603f3d011682016040523d82523d6000602084013e61285f565b606091505b506000815114156128a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289c9061477d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612902565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061297d575061297c82612c95565b5b9050919050565b61298f838383612cff565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129d2576129cd81612d04565b612a11565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612a1057612a0f8382612d4d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a5457612a4f81612eba565b612a93565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a9257612a918282612f8b565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aff90614ab9565b60405180910390fd5b612b11816117cc565b15612b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4890614b25565b60405180910390fd5b612b5d60008383612475565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bad9190613ebd565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612c6e600083836124e6565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612d5a8461113e565b612d649190614599565b9050600060086000848152602001908152602001600020549050818114612e49576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612ece9190614599565b90506000600a6000848152602001908152602001600020549050600060098381548110612efe57612efd613f7f565b5b906000526020600020015490508060098381548110612f2057612f1f613f7f565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612f6f57612f6e614b45565b5b6001900381819060005260206000200160009055905550505050565b6000612f968361113e565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b82805461301690613a18565b90600052602060002090601f016020900481019282613038576000855561307f565b82601f1061305157803560ff191683800117855561307f565b8280016001018555821561307f579182015b8281111561307e578235825591602001919060010190613063565b5b50905061308c9190613090565b5090565b5b808211156130a9576000816000905550600101613091565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130f6816130c1565b811461310157600080fd5b50565b600081359050613113816130ed565b92915050565b60006020828403121561312f5761312e6130b7565b5b600061313d84828501613104565b91505092915050565b60008115159050919050565b61315b81613146565b82525050565b60006020820190506131766000830184613152565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b657808201518184015260208101905061319b565b838111156131c5576000848401525b50505050565b6000601f19601f8301169050919050565b60006131e78261317c565b6131f18185613187565b9350613201818560208601613198565b61320a816131cb565b840191505092915050565b6000602082019050818103600083015261322f81846131dc565b905092915050565b6000819050919050565b61324a81613237565b811461325557600080fd5b50565b60008135905061326781613241565b92915050565b600060208284031215613283576132826130b7565b5b600061329184828501613258565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c58261329a565b9050919050565b6132d5816132ba565b82525050565b60006020820190506132f060008301846132cc565b92915050565b6132ff816132ba565b811461330a57600080fd5b50565b60008135905061331c816132f6565b92915050565b60008060408385031215613339576133386130b7565b5b60006133478582860161330d565b925050602061335885828601613258565b9150509250929050565b61336b81613237565b82525050565b60006020820190506133866000830184613362565b92915050565b6000602082840312156133a2576133a16130b7565b5b60006133b08482850161330d565b91505092915050565b6000806000606084860312156133d2576133d16130b7565b5b60006133e08682870161330d565b93505060206133f18682870161330d565b925050604061340286828701613258565b9150509250925092565b6000819050919050565b61341f8161340c565b811461342a57600080fd5b50565b60008135905061343c81613416565b92915050565b600060208284031215613458576134576130b7565b5b60006134668482850161342d565b91505092915050565b6134788161340c565b82525050565b6000602082019050613493600083018461346f565b92915050565b600080604083850312156134b0576134af6130b7565b5b60006134be8582860161342d565b92505060206134cf8582860161330d565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613516826131cb565b810181811067ffffffffffffffff82111715613535576135346134de565b5b80604052505050565b60006135486130ad565b9050613554828261350d565b919050565b600067ffffffffffffffff821115613574576135736134de565b5b602082029050602081019050919050565b600080fd5b600061359d61359884613559565b61353e565b905080838252602082019050602084028301858111156135c0576135bf613585565b5b835b818110156135e957806135d58882613258565b8452602084019350506020810190506135c2565b5050509392505050565b600082601f830112613608576136076134d9565b5b813561361884826020860161358a565b91505092915050565b60008060408385031215613638576136376130b7565b5b60006136468582860161330d565b925050602083013567ffffffffffffffff811115613667576136666130bc565b5b613673858286016135f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136b281613237565b82525050565b60006136c483836136a9565b60208301905092915050565b6000602082019050919050565b60006136e88261367d565b6136f28185613688565b93506136fd83613699565b8060005b8381101561372e57815161371588826136b8565b9750613720836136d0565b925050600181019050613701565b5085935050505092915050565b6000602082019050818103600083015261375581846136dd565b905092915050565b600080fd5b60008083601f840112613778576137776134d9565b5b8235905067ffffffffffffffff8111156137955761379461375d565b5b6020830191508360018202830111156137b1576137b0613585565b5b9250929050565b600080602083850312156137cf576137ce6130b7565b5b600083013567ffffffffffffffff8111156137ed576137ec6130bc565b5b6137f985828601613762565b92509250509250929050565b61380e81613146565b811461381957600080fd5b50565b60008135905061382b81613805565b92915050565b60008060408385031215613848576138476130b7565b5b60006138568582860161330d565b92505060206138678582860161381c565b9150509250929050565b600080fd5b600067ffffffffffffffff821115613891576138906134de565b5b61389a826131cb565b9050602081019050919050565b82818337600083830152505050565b60006138c96138c484613876565b61353e565b9050828152602081018484840111156138e5576138e4613871565b5b6138f08482856138a7565b509392505050565b600082601f83011261390d5761390c6134d9565b5b813561391d8482602086016138b6565b91505092915050565b600080600080608085870312156139405761393f6130b7565b5b600061394e8782880161330d565b945050602061395f8782880161330d565b935050604061397087828801613258565b925050606085013567ffffffffffffffff811115613991576139906130bc565b5b61399d878288016138f8565b91505092959194509250565b600080604083850312156139c0576139bf6130b7565b5b60006139ce8582860161330d565b92505060206139df8582860161330d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a3057607f821691505b60208210811415613a4457613a436139e9565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613aa6602c83613187565b9150613ab182613a4a565b604082019050919050565b60006020820190508181036000830152613ad581613a99565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b38602183613187565b9150613b4382613adc565b604082019050919050565b60006020820190508181036000830152613b6781613b2b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613bca603883613187565b9150613bd582613b6e565b604082019050919050565b60006020820190508181036000830152613bf981613bbd565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613c5c603183613187565b9150613c6782613c00565b604082019050919050565b60006020820190508181036000830152613c8b81613c4f565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613cee602b83613187565b9150613cf982613c92565b604082019050919050565b60006020820190508181036000830152613d1d81613ce1565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613d80602f83613187565b9150613d8b82613d24565b604082019050919050565b60006020820190508181036000830152613daf81613d73565b9050919050565b7f63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b6000613dec602083613187565b9150613df782613db6565b602082019050919050565b60006020820190508181036000830152613e1b81613ddf565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613e58601183613187565b9150613e6382613e22565b602082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ec882613237565b9150613ed383613237565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f0857613f07613e8e565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613f49601783613187565b9150613f5482613f13565b602082019050919050565b60006020820190508181036000830152613f7881613f3c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613fb982613237565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613fec57613feb613e8e565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614053602c83613187565b915061405e82613ff7565b604082019050919050565b6000602082019050818103600083015261408281614046565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006140bf601583613187565b91506140ca82614089565b602082019050919050565b600060208201905081810360008301526140ee816140b2565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b600061412b601a83613187565b9150614136826140f5565b602082019050919050565b6000602082019050818103600083015261415a8161411e565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006141bd602983613187565b91506141c882614161565b604082019050919050565b600060208201905081810360008301526141ec816141b0565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061424f602a83613187565b915061425a826141f3565b604082019050919050565b6000602082019050818103600083015261427e81614242565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006142e1602f83613187565b91506142ec82614285565b604082019050919050565b60006020820190508181036000830152614310816142d4565b9050919050565b600081905092915050565b600061432d8261317c565b6143378185614317565b9350614347818560208601613198565b80840191505092915050565b600061435f8285614322565b915061436b8284614322565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006143ad601883613187565b91506143b882614377565b602082019050919050565b600060208201905081810360008301526143dc816143a0565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061443f602c83613187565b915061444a826143e3565b604082019050919050565b6000602082019050818103600083015261446e81614432565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006144d1602583613187565b91506144dc82614475565b604082019050919050565b60006020820190508181036000830152614500816144c4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614563602483613187565b915061456e82614507565b604082019050919050565b6000602082019050818103600083015261459281614556565b9050919050565b60006145a482613237565b91506145af83613237565b9250828210156145c2576145c1613e8e565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614603601783614317565b915061460e826145cd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061464f601183614317565b915061465a82614619565b601182019050919050565b6000614670826145f6565b915061467c8285614322565b915061468782614642565b91506146938284614322565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006146d5601983613187565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614767603283613187565b91506147728261470b565b604082019050919050565b600060208201905081810360008301526147968161475a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147d782613237565b91506147e283613237565b9250826147f2576147f161479d565b5b828204905092915050565b600061480882613237565b915061481383613237565b9250826148235761482261479d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614864601d83613187565b915061486f8261482e565b602082019050919050565b6000602082019050818103600083015261489381614857565b9050919050565b60006148a582613237565b91506148b083613237565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156148e9576148e8613e8e565b5b828202905092915050565b60006148ff82613237565b9150600082141561491357614912613e8e565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614954602083613187565b915061495f8261491e565b602082019050919050565b6000602082019050818103600083015261498381614947565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006149b18261498a565b6149bb8185614995565b93506149cb818560208601613198565b6149d4816131cb565b840191505092915050565b60006080820190506149f460008301876132cc565b614a0160208301866132cc565b614a0e6040830185613362565b8181036060830152614a2081846149a6565b905095945050505050565b600081519050614a3a816130ed565b92915050565b600060208284031215614a5657614a556130b7565b5b6000614a6484828501614a2b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614aa3602083613187565b9150614aae82614a6d565b602082019050919050565b60006020820190508181036000830152614ad281614a96565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614b0f601c83613187565b9150614b1a82614ad9565b602082019050919050565b60006020820190508181036000830152614b3e81614b02565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212202561dfce6f58e7bcd004bce05b31bc8515a980a4125de7ffb004380e5793993064736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80636198e3391161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106d2578063dcec3294146106ee578063dd4670641461071e578063e985e9c51461073a578063f6aacfb11461076a5761023d565b8063ace9e2e21461062e578063b88d4fde1461064a578063b930908f14610666578063c87b56dd14610684578063d5391393146106b45761023d565b8063931688cb116100ff578063931688cb1461059e57806395d89b41146105ba578063965f4c60146105d8578063a217fddf146105f4578063a22cb465146106125761023d565b80636198e339146104d65780636352211e146104f257806370a082311461052257806379deb6e71461055257806391d148541461056e5761023d565b80632f286b1b116101c957806342842e0e1161018d57806342842e0e1461042257806342966c681461043e5780634684d7e91461045a5780634f6ccce71461048a578063530dd079146104ba5761023d565b80632f286b1b146103805780632f2ff15d1461039e5780632f745c59146103ba578063327ba615146103ea57806336568abe146104065761023d565b806318160ddd1161021057806318160ddd146102dc57806319d1997a146102fa5780631cf4e3ee1461031857806323b872dd14610334578063248a9ca3146103505761023d565b806301ffc9a71461024257806306fdde0314610272578063081812fc14610290578063095ea7b3146102c0575b600080fd5b61025c60048036038101906102579190613119565b61079a565b6040516102699190613161565b60405180910390f35b61027a6107ac565b6040516102879190613215565b60405180910390f35b6102aa60048036038101906102a5919061326d565b61083e565b6040516102b791906132db565b60405180910390f35b6102da60048036038101906102d59190613322565b6108c3565b005b6102e46109db565b6040516102f19190613371565b60405180910390f35b6103026109e8565b60405161030f9190613371565b60405180910390f35b610332600480360381019061032d919061338c565b610a0c565b005b61034e600480360381019061034991906133b9565b610a39565b005b61036a60048036038101906103659190613442565b610a99565b604051610377919061347e565b60405180910390f35b610388610ab8565b604051610395919061347e565b60405180910390f35b6103b860048036038101906103b39190613499565b610adc565b005b6103d460048036038101906103cf9190613322565b610b05565b6040516103e19190613371565b60405180910390f35b61040460048036038101906103ff919061338c565b610baa565b005b610420600480360381019061041b9190613499565b610bd7565b005b61043c600480360381019061043791906133b9565b610c5a565b005b6104586004803603810190610453919061326d565b610c7a565b005b610474600480360381019061046f9190613621565b610cd6565b604051610481919061373b565b60405180910390f35b6104a4600480360381019061049f919061326d565b610eb7565b6040516104b19190613371565b60405180910390f35b6104d460048036038101906104cf919061338c565b610f28565b005b6104f060048036038101906104eb919061326d565b610f55565b005b61050c6004803603810190610507919061326d565b61108c565b60405161051991906132db565b60405180910390f35b61053c6004803603810190610537919061338c565b61113e565b6040516105499190613371565b60405180910390f35b61056c6004803603810190610567919061338c565b6111f6565b005b61058860048036038101906105839190613499565b611223565b6040516105959190613161565b60405180910390f35b6105b860048036038101906105b391906137b8565b61128d565b005b6105c26112b9565b6040516105cf9190613215565b60405180910390f35b6105f260048036038101906105ed919061338c565b61134b565b005b6105fc611378565b604051610609919061347e565b60405180910390f35b61062c60048036038101906106279190613831565b61137f565b005b6106486004803603810190610643919061338c565b611395565b005b610664600480360381019061065f9190613926565b6113c2565b005b61066e611424565b60405161067b919061347e565b60405180910390f35b61069e6004803603810190610699919061326d565b611448565b6040516106ab9190613215565b60405180910390f35b6106bc6114ef565b6040516106c9919061347e565b60405180910390f35b6106ec60048036038101906106e79190613499565b611513565b005b6107086004803603810190610703919061326d565b61153c565b6040516107159190613161565b60405180910390f35b6107386004803603810190610733919061326d565b61155c565b005b610754600480360381019061074f91906139a9565b611694565b6040516107619190613161565b60405180910390f35b610784600480360381019061077f919061326d565b611728565b6040516107919190613161565b60405180910390f35b60006107a582611752565b9050919050565b6060600180546107bb90613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546107e790613a18565b80156108345780601f1061080957610100808354040283529160200191610834565b820191906000526020600020905b81548152906001019060200180831161081757829003601f168201915b5050505050905090565b6000610849826117cc565b610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90613abc565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108ce8261108c565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690613b4e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095e611838565b73ffffffffffffffffffffffffffffffffffffffff16148061098d575061098c81610987611838565b611694565b5b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390613be0565b60405180910390fd5b6109d68383611840565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a367f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611513565b50565b610a4a610a44611838565b826118f9565b610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613c72565b60405180910390fd5b610a948383836119d7565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610ae582610a99565b610af681610af1611838565b611c3e565b610b008383611cdb565b505050565b6000610b108361113e565b8210610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890613d04565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bd47fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610adc565b50565b610bdf611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4390613d96565b60405180910390fd5b610c568282611dbb565b5050565b610c75838383604051806020016040528060008152506113c2565b505050565b610c8b610c85611838565b826118f9565b610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190613e02565b60405180910390fd5b610cd381611e9c565b50565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d0a81610d05611838565b611c3e565b6000835190506064811115610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90613e6e565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610df3577f000000000000000000000000000000000000000000000000000000000000000081610da76109db565b610db19190613ebd565b1115610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990613f5f565b60405180910390fd5b5b60005b81811015610e5d576001600d6000828254610e119190613ebd565b925050819055506000600d549050610e298782611fb9565b80868381518110610e3d57610e3c613f7f565b5b602002602001018181525050508080610e5590613fae565b915050610df6565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243185604051610ea4919061373b565b60405180910390a2839250505092915050565b6000610ec16109db565b8210610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990614069565b60405180910390fd5b60098281548110610f1657610f15613f7f565b5b90600052602060002001549050919050565b610f527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610adc565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f8781610f82611838565b611c3e565b610f90826117cc565b610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc6906140d5565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661102f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102690614141565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112c906141d3565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a690614265565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112207fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182611513565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112a28161129d611838565b611c3e565b8282600c91906112b392919061300a565b50505050565b6060600280546112c890613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546112f490613a18565b80156113415780601f1061131657610100808354040283529160200191611341565b820191906000526020600020905b81548152906001019060200180831161132457829003601f168201915b5050505050905090565b6113757fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282611513565b50565b6000801b81565b61139161138a611838565b8383611fd7565b5050565b6113bf7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610adc565b50565b6113d36113cd611838565b836118f9565b611412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140990613c72565b60405180910390fd5b61141e84848484612144565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b6060611453826117cc565b611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906142f7565b60405180910390fd5b600061149c6121a0565b905060008151116114bc57604051806020016040528060008152506114e7565b806114c684612232565b6040516020016114d7929190614353565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61151c82610a99565b61152d81611528611838565b611c3e565b6115378383611dbb565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161158e81611589611838565b611c3e565b611597826117cc565b6115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd906140d5565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162e906143c3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806117c557506117c482612393565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166118b38361108c565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611904826117cc565b611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a90614455565b60405180910390fd5b600061194e8361108c565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806119bd57508373ffffffffffffffffffffffffffffffffffffffff166119a58461083e565b73ffffffffffffffffffffffffffffffffffffffff16145b806119ce57506119cd8185611694565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166119f78261108c565b73ffffffffffffffffffffffffffffffffffffffff1614611a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a44906144e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab490614579565b60405180910390fd5b611ac8838383612475565b611ad3600082611840565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b239190614599565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b7a9190613ebd565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c398383836124e6565b505050565b611c488282611223565b611cd757611c6d8173ffffffffffffffffffffffffffffffffffffffff1660146124eb565b611c7b8360001c60206124eb565b604051602001611c8c929190614665565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cce9190613215565b60405180910390fd5b5050565b611ce58282611223565b611db757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d5c611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611dc58282611223565b15611e9857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e3d611838565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611ea78261108c565b9050611eb581600084612475565b611ec0600083611840565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f109190614599565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611fb5816000846124e6565b5050565b611fd3828260405180602001604052806000815250612727565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203d906146eb565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121379190613161565b60405180910390a3505050565b61214f8484846119d7565b61215b84848484612782565b61219a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121919061477d565b60405180910390fd5b50505050565b6060600c80546121af90613a18565b80601f01602080910402602001604051908101604052809291908181526020018280546121db90613a18565b80156122285780601f106121fd57610100808354040283529160200191612228565b820191906000526020600020905b81548152906001019060200180831161220b57829003601f168201915b5050505050905090565b6060600082141561227a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061238e565b600082905060005b600082146122ac57808061229590613fae565b915050600a826122a591906147cc565b9150612282565b60008167ffffffffffffffff8111156122c8576122c76134de565b5b6040519080825280601f01601f1916602001820160405280156122fa5781602001600182028036833780820191505090505b5090505b60008514612387576001826123139190614599565b9150600a8561232291906147fd565b603061232e9190613ebd565b60f81b81838151811061234457612343613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561238091906147cc565b94506122fe565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061245e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061246e575061246d8261290a565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff16156124d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cd9061487a565b60405180910390fd5b6124e1838383612984565b505050565b505050565b6060600060028360026124fe919061489a565b6125089190613ebd565b67ffffffffffffffff811115612521576125206134de565b5b6040519080825280601f01601f1916602001820160405280156125535781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061258b5761258a613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106125ef576125ee613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261262f919061489a565b6126399190613ebd565b90505b60018111156126d9577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061267b5761267a613f7f565b5b1a60f81b82828151811061269257612691613f7f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806126d2906148f4565b905061263c565b506000841461271d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127149061496a565b60405180910390fd5b8091505092915050565b6127318383612a98565b61273e6000848484612782565b61277d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127749061477d565b60405180910390fd5b505050565b60006127a38473ffffffffffffffffffffffffffffffffffffffff16612c72565b156128fd578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026127cc611838565b8786866040518563ffffffff1660e01b81526004016127ee94939291906149df565b6020604051808303816000875af192505050801561282a57506040513d601f19601f820116820180604052508101906128279190614a40565b60015b6128ad573d806000811461285a576040519150601f19603f3d011682016040523d82523d6000602084013e61285f565b606091505b506000815114156128a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289c9061477d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612902565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061297d575061297c82612c95565b5b9050919050565b61298f838383612cff565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129d2576129cd81612d04565b612a11565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612a1057612a0f8382612d4d565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a5457612a4f81612eba565b612a93565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a9257612a918282612f8b565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aff90614ab9565b60405180910390fd5b612b11816117cc565b15612b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4890614b25565b60405180910390fd5b612b5d60008383612475565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bad9190613ebd565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612c6e600083836124e6565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612d5a8461113e565b612d649190614599565b9050600060086000848152602001908152602001600020549050818114612e49576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612ece9190614599565b90506000600a6000848152602001908152602001600020549050600060098381548110612efe57612efd613f7f565b5b906000526020600020015490508060098381548110612f2057612f1f613f7f565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612f6f57612f6e614b45565b5b6001900381819060005260206000200160009055905550505050565b6000612f968361113e565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b82805461301690613a18565b90600052602060002090601f016020900481019282613038576000855561307f565b82601f1061305157803560ff191683800117855561307f565b8280016001018555821561307f579182015b8281111561307e578235825591602001919060010190613063565b5b50905061308c9190613090565b5090565b5b808211156130a9576000816000905550600101613091565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130f6816130c1565b811461310157600080fd5b50565b600081359050613113816130ed565b92915050565b60006020828403121561312f5761312e6130b7565b5b600061313d84828501613104565b91505092915050565b60008115159050919050565b61315b81613146565b82525050565b60006020820190506131766000830184613152565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131b657808201518184015260208101905061319b565b838111156131c5576000848401525b50505050565b6000601f19601f8301169050919050565b60006131e78261317c565b6131f18185613187565b9350613201818560208601613198565b61320a816131cb565b840191505092915050565b6000602082019050818103600083015261322f81846131dc565b905092915050565b6000819050919050565b61324a81613237565b811461325557600080fd5b50565b60008135905061326781613241565b92915050565b600060208284031215613283576132826130b7565b5b600061329184828501613258565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c58261329a565b9050919050565b6132d5816132ba565b82525050565b60006020820190506132f060008301846132cc565b92915050565b6132ff816132ba565b811461330a57600080fd5b50565b60008135905061331c816132f6565b92915050565b60008060408385031215613339576133386130b7565b5b60006133478582860161330d565b925050602061335885828601613258565b9150509250929050565b61336b81613237565b82525050565b60006020820190506133866000830184613362565b92915050565b6000602082840312156133a2576133a16130b7565b5b60006133b08482850161330d565b91505092915050565b6000806000606084860312156133d2576133d16130b7565b5b60006133e08682870161330d565b93505060206133f18682870161330d565b925050604061340286828701613258565b9150509250925092565b6000819050919050565b61341f8161340c565b811461342a57600080fd5b50565b60008135905061343c81613416565b92915050565b600060208284031215613458576134576130b7565b5b60006134668482850161342d565b91505092915050565b6134788161340c565b82525050565b6000602082019050613493600083018461346f565b92915050565b600080604083850312156134b0576134af6130b7565b5b60006134be8582860161342d565b92505060206134cf8582860161330d565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613516826131cb565b810181811067ffffffffffffffff82111715613535576135346134de565b5b80604052505050565b60006135486130ad565b9050613554828261350d565b919050565b600067ffffffffffffffff821115613574576135736134de565b5b602082029050602081019050919050565b600080fd5b600061359d61359884613559565b61353e565b905080838252602082019050602084028301858111156135c0576135bf613585565b5b835b818110156135e957806135d58882613258565b8452602084019350506020810190506135c2565b5050509392505050565b600082601f830112613608576136076134d9565b5b813561361884826020860161358a565b91505092915050565b60008060408385031215613638576136376130b7565b5b60006136468582860161330d565b925050602083013567ffffffffffffffff811115613667576136666130bc565b5b613673858286016135f3565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136b281613237565b82525050565b60006136c483836136a9565b60208301905092915050565b6000602082019050919050565b60006136e88261367d565b6136f28185613688565b93506136fd83613699565b8060005b8381101561372e57815161371588826136b8565b9750613720836136d0565b925050600181019050613701565b5085935050505092915050565b6000602082019050818103600083015261375581846136dd565b905092915050565b600080fd5b60008083601f840112613778576137776134d9565b5b8235905067ffffffffffffffff8111156137955761379461375d565b5b6020830191508360018202830111156137b1576137b0613585565b5b9250929050565b600080602083850312156137cf576137ce6130b7565b5b600083013567ffffffffffffffff8111156137ed576137ec6130bc565b5b6137f985828601613762565b92509250509250929050565b61380e81613146565b811461381957600080fd5b50565b60008135905061382b81613805565b92915050565b60008060408385031215613848576138476130b7565b5b60006138568582860161330d565b92505060206138678582860161381c565b9150509250929050565b600080fd5b600067ffffffffffffffff821115613891576138906134de565b5b61389a826131cb565b9050602081019050919050565b82818337600083830152505050565b60006138c96138c484613876565b61353e565b9050828152602081018484840111156138e5576138e4613871565b5b6138f08482856138a7565b509392505050565b600082601f83011261390d5761390c6134d9565b5b813561391d8482602086016138b6565b91505092915050565b600080600080608085870312156139405761393f6130b7565b5b600061394e8782880161330d565b945050602061395f8782880161330d565b935050604061397087828801613258565b925050606085013567ffffffffffffffff811115613991576139906130bc565b5b61399d878288016138f8565b91505092959194509250565b600080604083850312156139c0576139bf6130b7565b5b60006139ce8582860161330d565b92505060206139df8582860161330d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a3057607f821691505b60208210811415613a4457613a436139e9565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613aa6602c83613187565b9150613ab182613a4a565b604082019050919050565b60006020820190508181036000830152613ad581613a99565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b38602183613187565b9150613b4382613adc565b604082019050919050565b60006020820190508181036000830152613b6781613b2b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613bca603883613187565b9150613bd582613b6e565b604082019050919050565b60006020820190508181036000830152613bf981613bbd565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613c5c603183613187565b9150613c6782613c00565b604082019050919050565b60006020820190508181036000830152613c8b81613c4f565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613cee602b83613187565b9150613cf982613c92565b604082019050919050565b60006020820190508181036000830152613d1d81613ce1565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613d80602f83613187565b9150613d8b82613d24565b604082019050919050565b60006020820190508181036000830152613daf81613d73565b9050919050565b7f63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b6000613dec602083613187565b9150613df782613db6565b602082019050919050565b60006020820190508181036000830152613e1b81613ddf565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613e58601183613187565b9150613e6382613e22565b602082019050919050565b60006020820190508181036000830152613e8781613e4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ec882613237565b9150613ed383613237565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f0857613f07613e8e565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613f49601783613187565b9150613f5482613f13565b602082019050919050565b60006020820190508181036000830152613f7881613f3c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613fb982613237565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613fec57613feb613e8e565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614053602c83613187565b915061405e82613ff7565b604082019050919050565b6000602082019050818103600083015261408281614046565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006140bf601583613187565b91506140ca82614089565b602082019050919050565b600060208201905081810360008301526140ee816140b2565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b600061412b601a83613187565b9150614136826140f5565b602082019050919050565b6000602082019050818103600083015261415a8161411e565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006141bd602983613187565b91506141c882614161565b604082019050919050565b600060208201905081810360008301526141ec816141b0565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061424f602a83613187565b915061425a826141f3565b604082019050919050565b6000602082019050818103600083015261427e81614242565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006142e1602f83613187565b91506142ec82614285565b604082019050919050565b60006020820190508181036000830152614310816142d4565b9050919050565b600081905092915050565b600061432d8261317c565b6143378185614317565b9350614347818560208601613198565b80840191505092915050565b600061435f8285614322565b915061436b8284614322565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006143ad601883613187565b91506143b882614377565b602082019050919050565b600060208201905081810360008301526143dc816143a0565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061443f602c83613187565b915061444a826143e3565b604082019050919050565b6000602082019050818103600083015261446e81614432565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006144d1602583613187565b91506144dc82614475565b604082019050919050565b60006020820190508181036000830152614500816144c4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614563602483613187565b915061456e82614507565b604082019050919050565b6000602082019050818103600083015261459281614556565b9050919050565b60006145a482613237565b91506145af83613237565b9250828210156145c2576145c1613e8e565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614603601783614317565b915061460e826145cd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061464f601183614317565b915061465a82614619565b601182019050919050565b6000614670826145f6565b915061467c8285614322565b915061468782614642565b91506146938284614322565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006146d5601983613187565b91506146e08261469f565b602082019050919050565b60006020820190508181036000830152614704816146c8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614767603283613187565b91506147728261470b565b604082019050919050565b600060208201905081810360008301526147968161475a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147d782613237565b91506147e283613237565b9250826147f2576147f161479d565b5b828204905092915050565b600061480882613237565b915061481383613237565b9250826148235761482261479d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614864601d83613187565b915061486f8261482e565b602082019050919050565b6000602082019050818103600083015261489381614857565b9050919050565b60006148a582613237565b91506148b083613237565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156148e9576148e8613e8e565b5b828202905092915050565b60006148ff82613237565b9150600082141561491357614912613e8e565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614954602083613187565b915061495f8261491e565b602082019050919050565b6000602082019050818103600083015261498381614947565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006149b18261498a565b6149bb8185614995565b93506149cb818560208601613198565b6149d4816131cb565b840191505092915050565b60006080820190506149f460008301876132cc565b614a0160208301866132cc565b614a0e6040830185613362565b8181036060830152614a2081846149a6565b905095945050505050565b600081519050614a3a816130ed565b92915050565b600060208284031215614a5657614a556130b7565b5b6000614a6484828501614a2b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614aa3602083613187565b9150614aae82614a6d565b602082019050919050565b60006020820190508181036000830152614ad281614a96565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614b0f601c83613187565b9150614b1a82614ad9565b602082019050919050565b60006020820190508181036000830152614b3e81614b02565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212202561dfce6f58e7bcd004bce05b31bc8515a980a4125de7ffb004380e5793993064736f6c634300080a0033", + "immutableReferences": { + "2365": [ + { + "length": 32, + "start": 2538 + }, + { + "length": 32, + "start": 3416 + }, + { + "length": 32, + "start": 3455 + } + ] + }, "generatedSources": [ { "ast": { "nodeType": "YulBlock", - "src": "0:4752:26", + "src": "0:4609:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:26", + "src": "47:35:14", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:26", + "src": "57:19:14", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:26", + "src": "73:2:14", "type": "", "value": "64" } @@ -854,16 +949,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:26" + "src": "67:5:14" }, "nodeType": "YulFunctionCall", - "src": "67:9:26" + "src": "67:9:14" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:26" + "src": "57:6:14" } ] } @@ -875,16 +970,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:26", + "src": "40:6:14", "type": "" } ], - "src": "7:75:26" + "src": "7:75:14" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:26", + "src": "177:28:14", "statements": [ { "expression": { @@ -892,14 +987,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:26", + "src": "194:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:26", + "src": "197:1:14", "type": "", "value": "0" } @@ -907,24 +1002,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:26" + "src": "187:6:14" }, "nodeType": "YulFunctionCall", - "src": "187:12:26" + "src": "187:12:14" }, "nodeType": "YulExpressionStatement", - "src": "187:12:26" + "src": "187:12:14" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:26" + "src": "88:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:26", + "src": "300:28:14", "statements": [ { "expression": { @@ -932,14 +1027,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:26", + "src": "317:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:26", + "src": "320:1:14", "type": "", "value": "0" } @@ -947,24 +1042,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:26" + "src": "310:6:14" }, "nodeType": "YulFunctionCall", - "src": "310:12:26" + "src": "310:12:14" }, "nodeType": "YulExpressionStatement", - "src": "310:12:26" + "src": "310:12:14" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:26" + "src": "211:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "423:28:26", + "src": "423:28:14", "statements": [ { "expression": { @@ -972,14 +1067,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "440:1:26", + "src": "440:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "443:1:26", + "src": "443:1:14", "type": "", "value": "0" } @@ -987,24 +1082,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "433:6:26" + "src": "433:6:14" }, "nodeType": "YulFunctionCall", - "src": "433:12:26" + "src": "433:12:14" }, "nodeType": "YulExpressionStatement", - "src": "433:12:26" + "src": "433:12:14" } ] }, "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", - "src": "334:117:26" + "src": "334:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "546:28:26", + "src": "546:28:14", "statements": [ { "expression": { @@ -1012,14 +1107,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "563:1:26", + "src": "563:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "566:1:26", + "src": "566:1:14", "type": "", "value": "0" } @@ -1027,28 +1122,28 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "556:6:26" + "src": "556:6:14" }, "nodeType": "YulFunctionCall", - "src": "556:12:26" + "src": "556:12:14" }, "nodeType": "YulExpressionStatement", - "src": "556:12:26" + "src": "556:12:14" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", - "src": "457:117:26" + "src": "457:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "628:54:26", + "src": "628:54:14", "statements": [ { "nodeType": "YulAssignment", - "src": "638:38:26", + "src": "638:38:14", "value": { "arguments": [ { @@ -1056,12 +1151,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "656:5:26" + "src": "656:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "663:2:26", + "src": "663:2:14", "type": "", "value": "31" } @@ -1069,17 +1164,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "652:3:26" + "src": "652:3:14" }, "nodeType": "YulFunctionCall", - "src": "652:14:26" + "src": "652:14:14" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "672:2:26", + "src": "672:2:14", "type": "", "value": "31" } @@ -1087,25 +1182,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "668:3:26" + "src": "668:3:14" }, "nodeType": "YulFunctionCall", - "src": "668:7:26" + "src": "668:7:14" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "648:3:26" + "src": "648:3:14" }, "nodeType": "YulFunctionCall", - "src": "648:28:26" + "src": "648:28:14" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "638:6:26" + "src": "638:6:14" } ] } @@ -1117,7 +1212,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "611:5:26", + "src": "611:5:14", "type": "" } ], @@ -1125,16 +1220,16 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "621:6:26", + "src": "621:6:14", "type": "" } ], - "src": "580:102:26" + "src": "580:102:14" }, { "body": { "nodeType": "YulBlock", - "src": "716:152:26", + "src": "716:152:14", "statements": [ { "expression": { @@ -1142,14 +1237,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "733:1:26", + "src": "733:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "736:77:26", + "src": "736:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -1157,13 +1252,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "726:6:26" + "src": "726:6:14" }, "nodeType": "YulFunctionCall", - "src": "726:88:26" + "src": "726:88:14" }, "nodeType": "YulExpressionStatement", - "src": "726:88:26" + "src": "726:88:14" }, { "expression": { @@ -1171,14 +1266,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "830:1:26", + "src": "830:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "833:4:26", + "src": "833:4:14", "type": "", "value": "0x41" } @@ -1186,13 +1281,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "823:6:26" + "src": "823:6:14" }, "nodeType": "YulFunctionCall", - "src": "823:15:26" + "src": "823:15:14" }, "nodeType": "YulExpressionStatement", - "src": "823:15:26" + "src": "823:15:14" }, { "expression": { @@ -1200,14 +1295,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "854:1:26", + "src": "854:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "857:4:26", + "src": "857:4:14", "type": "", "value": "0x24" } @@ -1215,65 +1310,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "847:6:26" + "src": "847:6:14" }, "nodeType": "YulFunctionCall", - "src": "847:15:26" + "src": "847:15:14" }, "nodeType": "YulExpressionStatement", - "src": "847:15:26" + "src": "847:15:14" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "688:180:26" + "src": "688:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "917:238:26", + "src": "917:238:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "927:58:26", + "src": "927:58:14", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "949:6:26" + "src": "949:6:14" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "979:4:26" + "src": "979:4:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "957:21:26" + "src": "957:21:14" }, "nodeType": "YulFunctionCall", - "src": "957:27:26" + "src": "957:27:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "945:3:26" + "src": "945:3:14" }, "nodeType": "YulFunctionCall", - "src": "945:40:26" + "src": "945:40:14" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "931:10:26", + "src": "931:10:14", "type": "" } ] @@ -1281,7 +1376,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1096:22:26", + "src": "1096:22:14", "statements": [ { "expression": { @@ -1289,13 +1384,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1098:16:26" + "src": "1098:16:14" }, "nodeType": "YulFunctionCall", - "src": "1098:18:26" + "src": "1098:18:14" }, "nodeType": "YulExpressionStatement", - "src": "1098:18:26" + "src": "1098:18:14" } ] }, @@ -1306,12 +1401,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1039:10:26" + "src": "1039:10:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1051:18:26", + "src": "1051:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -1319,43 +1414,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1036:2:26" + "src": "1036:2:14" }, "nodeType": "YulFunctionCall", - "src": "1036:34:26" + "src": "1036:34:14" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1075:10:26" + "src": "1075:10:14" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1087:6:26" + "src": "1087:6:14" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1072:2:26" + "src": "1072:2:14" }, "nodeType": "YulFunctionCall", - "src": "1072:22:26" + "src": "1072:22:14" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "1033:2:26" + "src": "1033:2:14" }, "nodeType": "YulFunctionCall", - "src": "1033:62:26" + "src": "1033:62:14" }, "nodeType": "YulIf", - "src": "1030:88:26" + "src": "1030:88:14" }, { "expression": { @@ -1363,26 +1458,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1134:2:26", + "src": "1134:2:14", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1138:10:26" + "src": "1138:10:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1127:6:26" + "src": "1127:6:14" }, "nodeType": "YulFunctionCall", - "src": "1127:22:26" + "src": "1127:22:14" }, "nodeType": "YulExpressionStatement", - "src": "1127:22:26" + "src": "1127:22:14" } ] }, @@ -1392,41 +1487,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "903:6:26", + "src": "903:6:14", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "911:4:26", + "src": "911:4:14", "type": "" } ], - "src": "874:281:26" + "src": "874:281:14" }, { "body": { "nodeType": "YulBlock", - "src": "1202:88:26", + "src": "1202:88:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1212:30:26", + "src": "1212:30:14", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "1222:18:26" + "src": "1222:18:14" }, "nodeType": "YulFunctionCall", - "src": "1222:20:26" + "src": "1222:20:14" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1212:6:26" + "src": "1212:6:14" } ] }, @@ -1436,24 +1531,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1271:6:26" + "src": "1271:6:14" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "1279:4:26" + "src": "1279:4:14" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "1251:19:26" + "src": "1251:19:14" }, "nodeType": "YulFunctionCall", - "src": "1251:33:26" + "src": "1251:33:14" }, "nodeType": "YulExpressionStatement", - "src": "1251:33:26" + "src": "1251:33:14" } ] }, @@ -1463,7 +1558,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1186:4:26", + "src": "1186:4:14", "type": "" } ], @@ -1471,21 +1566,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "1195:6:26", + "src": "1195:6:14", "type": "" } ], - "src": "1161:129:26" + "src": "1161:129:14" }, { "body": { "nodeType": "YulBlock", - "src": "1363:241:26", + "src": "1363:241:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1468:22:26", + "src": "1468:22:14", "statements": [ { "expression": { @@ -1493,13 +1588,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1470:16:26" + "src": "1470:16:14" }, "nodeType": "YulFunctionCall", - "src": "1470:18:26" + "src": "1470:18:14" }, "nodeType": "YulExpressionStatement", - "src": "1470:18:26" + "src": "1470:18:14" } ] }, @@ -1508,12 +1603,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "1440:6:26" + "src": "1440:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1448:18:26", + "src": "1448:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -1521,55 +1616,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1437:2:26" + "src": "1437:2:14" }, "nodeType": "YulFunctionCall", - "src": "1437:30:26" + "src": "1437:30:14" }, "nodeType": "YulIf", - "src": "1434:56:26" + "src": "1434:56:14" }, { "nodeType": "YulAssignment", - "src": "1500:37:26", + "src": "1500:37:14", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1530:6:26" + "src": "1530:6:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "1508:21:26" + "src": "1508:21:14" }, "nodeType": "YulFunctionCall", - "src": "1508:29:26" + "src": "1508:29:14" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1500:4:26" + "src": "1500:4:14" } ] }, { "nodeType": "YulAssignment", - "src": "1574:23:26", + "src": "1574:23:14", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1586:4:26" + "src": "1586:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1592:4:26", + "src": "1592:4:14", "type": "", "value": "0x20" } @@ -1577,16 +1672,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1582:3:26" + "src": "1582:3:14" }, "nodeType": "YulFunctionCall", - "src": "1582:15:26" + "src": "1582:15:14" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1574:4:26" + "src": "1574:4:14" } ] } @@ -1598,7 +1693,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1347:6:26", + "src": "1347:6:14", "type": "" } ], @@ -1606,24 +1701,24 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1358:4:26", + "src": "1358:4:14", "type": "" } ], - "src": "1296:308:26" + "src": "1296:308:14" }, { "body": { "nodeType": "YulBlock", - "src": "1659:258:26", + "src": "1659:258:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1669:10:26", + "src": "1669:10:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1678:1:26", + "src": "1678:1:14", "type": "", "value": "0" }, @@ -1631,7 +1726,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1673:1:26", + "src": "1673:1:14", "type": "" } ] @@ -1639,7 +1734,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1738:63:26", + "src": "1738:63:14", "statements": [ { "expression": { @@ -1649,21 +1744,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1763:3:26" + "src": "1763:3:14" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1768:1:26" + "src": "1768:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1759:3:26" + "src": "1759:3:14" }, "nodeType": "YulFunctionCall", - "src": "1759:11:26" + "src": "1759:11:14" }, { "arguments": [ @@ -1672,42 +1767,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1782:3:26" + "src": "1782:3:14" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1787:1:26" + "src": "1787:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1778:3:26" + "src": "1778:3:14" }, "nodeType": "YulFunctionCall", - "src": "1778:11:26" + "src": "1778:11:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1772:5:26" + "src": "1772:5:14" }, "nodeType": "YulFunctionCall", - "src": "1772:18:26" + "src": "1772:18:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1752:6:26" + "src": "1752:6:14" }, "nodeType": "YulFunctionCall", - "src": "1752:39:26" + "src": "1752:39:14" }, "nodeType": "YulExpressionStatement", - "src": "1752:39:26" + "src": "1752:39:14" } ] }, @@ -1716,41 +1811,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1699:1:26" + "src": "1699:1:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1702:6:26" + "src": "1702:6:14" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1696:2:26" + "src": "1696:2:14" }, "nodeType": "YulFunctionCall", - "src": "1696:13:26" + "src": "1696:13:14" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1710:19:26", + "src": "1710:19:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1712:15:26", + "src": "1712:15:14", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1721:1:26" + "src": "1721:1:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1724:2:26", + "src": "1724:2:14", "type": "", "value": "32" } @@ -1758,16 +1853,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1717:3:26" + "src": "1717:3:14" }, "nodeType": "YulFunctionCall", - "src": "1717:10:26" + "src": "1717:10:14" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1712:1:26" + "src": "1712:1:14" } ] } @@ -1775,15 +1870,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1692:3:26", + "src": "1692:3:14", "statements": [] }, - "src": "1688:113:26" + "src": "1688:113:14" }, { "body": { "nodeType": "YulBlock", - "src": "1835:76:26", + "src": "1835:76:14", "statements": [ { "expression": { @@ -1793,26 +1888,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1885:3:26" + "src": "1885:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:26" + "src": "1890:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1881:3:26" + "src": "1881:3:14" }, "nodeType": "YulFunctionCall", - "src": "1881:16:26" + "src": "1881:16:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1899:1:26", + "src": "1899:1:14", "type": "", "value": "0" } @@ -1820,13 +1915,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1874:6:26" + "src": "1874:6:14" }, "nodeType": "YulFunctionCall", - "src": "1874:27:26" + "src": "1874:27:14" }, "nodeType": "YulExpressionStatement", - "src": "1874:27:26" + "src": "1874:27:14" } ] }, @@ -1835,24 +1930,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1816:1:26" + "src": "1816:1:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1819:6:26" + "src": "1819:6:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1813:2:26" + "src": "1813:2:14" }, "nodeType": "YulFunctionCall", - "src": "1813:13:26" + "src": "1813:13:14" }, "nodeType": "YulIf", - "src": "1810:101:26" + "src": "1810:101:14" } ] }, @@ -1862,32 +1957,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1641:3:26", + "src": "1641:3:14", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1646:3:26", + "src": "1646:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1651:6:26", + "src": "1651:6:14", "type": "" } ], - "src": "1610:307:26" + "src": "1610:307:14" }, { "body": { "nodeType": "YulBlock", - "src": "2018:326:26", + "src": "2018:326:14", "statements": [ { "nodeType": "YulAssignment", - "src": "2028:75:26", + "src": "2028:75:14", "value": { "arguments": [ { @@ -1895,31 +1990,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "2095:6:26" + "src": "2095:6:14" } ], "functionName": { "name": "array_allocation_size_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2053:41:26" + "src": "2053:41:14" }, "nodeType": "YulFunctionCall", - "src": "2053:49:26" + "src": "2053:49:14" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "2037:15:26" + "src": "2037:15:14" }, "nodeType": "YulFunctionCall", - "src": "2037:66:26" + "src": "2037:66:14" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2028:5:26" + "src": "2028:5:14" } ] }, @@ -1929,39 +2024,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "2119:5:26" + "src": "2119:5:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2126:6:26" + "src": "2126:6:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2112:6:26" + "src": "2112:6:14" }, "nodeType": "YulFunctionCall", - "src": "2112:21:26" + "src": "2112:21:14" }, "nodeType": "YulExpressionStatement", - "src": "2112:21:26" + "src": "2112:21:14" }, { "nodeType": "YulVariableDeclaration", - "src": "2142:27:26", + "src": "2142:27:14", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2157:5:26" + "src": "2157:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2164:4:26", + "src": "2164:4:14", "type": "", "value": "0x20" } @@ -1969,16 +2064,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2153:3:26" + "src": "2153:3:14" }, "nodeType": "YulFunctionCall", - "src": "2153:16:26" + "src": "2153:16:14" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "2146:3:26", + "src": "2146:3:14", "type": "" } ] @@ -1986,7 +2081,7 @@ { "body": { "nodeType": "YulBlock", - "src": "2207:83:26", + "src": "2207:83:14", "statements": [ { "expression": { @@ -1994,13 +2089,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "2209:77:26" + "src": "2209:77:14" }, "nodeType": "YulFunctionCall", - "src": "2209:79:26" + "src": "2209:79:14" }, "nodeType": "YulExpressionStatement", - "src": "2209:79:26" + "src": "2209:79:14" } ] }, @@ -2011,38 +2106,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2188:3:26" + "src": "2188:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2193:6:26" + "src": "2193:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2184:3:26" + "src": "2184:3:14" }, "nodeType": "YulFunctionCall", - "src": "2184:16:26" + "src": "2184:16:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2202:3:26" + "src": "2202:3:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2181:2:26" + "src": "2181:2:14" }, "nodeType": "YulFunctionCall", - "src": "2181:25:26" + "src": "2181:25:14" }, "nodeType": "YulIf", - "src": "2178:112:26" + "src": "2178:112:14" }, { "expression": { @@ -2050,29 +2145,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2321:3:26" + "src": "2321:3:14" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "2326:3:26" + "src": "2326:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2331:6:26" + "src": "2331:6:14" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2299:21:26" + "src": "2299:21:14" }, "nodeType": "YulFunctionCall", - "src": "2299:39:26" + "src": "2299:39:14" }, "nodeType": "YulExpressionStatement", - "src": "2299:39:26" + "src": "2299:39:14" } ] }, @@ -2082,19 +2177,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1991:3:26", + "src": "1991:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1996:6:26", + "src": "1996:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2004:3:26", + "src": "2004:3:14", "type": "" } ], @@ -2102,21 +2197,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2012:5:26", + "src": "2012:5:14", "type": "" } ], - "src": "1923:421:26" + "src": "1923:421:14" }, { "body": { "nodeType": "YulBlock", - "src": "2437:282:26", + "src": "2437:282:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2486:83:26", + "src": "2486:83:14", "statements": [ { "expression": { @@ -2124,13 +2219,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "2488:77:26" + "src": "2488:77:14" }, "nodeType": "YulFunctionCall", - "src": "2488:79:26" + "src": "2488:79:14" }, "nodeType": "YulExpressionStatement", - "src": "2488:79:26" + "src": "2488:79:14" } ] }, @@ -2143,12 +2238,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2465:6:26" + "src": "2465:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2473:4:26", + "src": "2473:4:14", "type": "", "value": "0x1f" } @@ -2156,68 +2251,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2461:3:26" + "src": "2461:3:14" }, "nodeType": "YulFunctionCall", - "src": "2461:17:26" + "src": "2461:17:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2480:3:26" + "src": "2480:3:14" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2457:3:26" + "src": "2457:3:14" }, "nodeType": "YulFunctionCall", - "src": "2457:27:26" + "src": "2457:27:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2450:6:26" + "src": "2450:6:14" }, "nodeType": "YulFunctionCall", - "src": "2450:35:26" + "src": "2450:35:14" }, "nodeType": "YulIf", - "src": "2447:122:26" + "src": "2447:122:14" }, { "nodeType": "YulVariableDeclaration", - "src": "2578:27:26", + "src": "2578:27:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2598:6:26" + "src": "2598:6:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "2592:5:26" + "src": "2592:5:14" }, "nodeType": "YulFunctionCall", - "src": "2592:13:26" + "src": "2592:13:14" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2582:6:26", + "src": "2582:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2614:99:26", + "src": "2614:99:14", "value": { "arguments": [ { @@ -2225,12 +2320,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2686:6:26" + "src": "2686:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2694:4:26", + "src": "2694:4:14", "type": "", "value": "0x20" } @@ -2238,35 +2333,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2682:3:26" + "src": "2682:3:14" }, "nodeType": "YulFunctionCall", - "src": "2682:17:26" + "src": "2682:17:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2701:6:26" + "src": "2701:6:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2709:3:26" + "src": "2709:3:14" } ], "functionName": { "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "2623:58:26" + "src": "2623:58:14" }, "nodeType": "YulFunctionCall", - "src": "2623:90:26" + "src": "2623:90:14" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2614:5:26" + "src": "2614:5:14" } ] } @@ -2278,13 +2373,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2415:6:26", + "src": "2415:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2423:3:26", + "src": "2423:3:14", "type": "" } ], @@ -2292,21 +2387,245 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2431:5:26", + "src": "2431:5:14", "type": "" } ], - "src": "2364:355:26" + "src": "2364:355:14" }, { "body": { "nodeType": "YulBlock", - "src": "2893:1344:26", + "src": "2770:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2780:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2791:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "2780:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2752:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "2762:7:14", + "type": "" + } + ], + "src": "2725:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2851:79:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2940:83:26", + "src": "2908:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2910:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2910:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2910:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2874:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2899:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2881:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "2881:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2871:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "2871:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2864:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2864:43:14" + }, + "nodeType": "YulIf", + "src": "2861:63:14" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2844:5:14", + "type": "" + } + ], + "src": "2808:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2999:80:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3009:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3024:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3018:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "3018:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3009:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3067:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "3040:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "3040:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3040:33:14" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2977:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2985:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2993:5:14", + "type": "" + } + ], + "src": "2936:143:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3216:878:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3262:83:14", "statements": [ { "expression": { @@ -2314,13 +2633,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "2942:77:26" + "src": "3264:77:14" }, "nodeType": "YulFunctionCall", - "src": "2942:79:26" + "src": "3264:79:14" }, "nodeType": "YulExpressionStatement", - "src": "2942:79:26" + "src": "3264:79:14" } ] }, @@ -2331,48 +2650,48 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "2914:7:26" + "src": "3237:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2923:9:26" + "src": "3246:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2910:3:26" + "src": "3233:3:14" }, "nodeType": "YulFunctionCall", - "src": "2910:23:26" + "src": "3233:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2935:3:26", + "src": "3258:2:14", "type": "", - "value": "128" + "value": "96" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2906:3:26" + "src": "3229:3:14" }, "nodeType": "YulFunctionCall", - "src": "2906:33:26" + "src": "3229:32:14" }, "nodeType": "YulIf", - "src": "2903:120:26" + "src": "3226:119:14" }, { "nodeType": "YulBlock", - "src": "3033:291:26", + "src": "3355:291:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3048:38:26", + "src": "3370:38:14", "value": { "arguments": [ { @@ -2380,12 +2699,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3072:9:26" + "src": "3394:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3083:1:26", + "src": "3405:1:14", "type": "", "value": "0" } @@ -2393,25 +2712,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3068:3:26" + "src": "3390:3:14" }, "nodeType": "YulFunctionCall", - "src": "3068:17:26" + "src": "3390:17:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3062:5:26" + "src": "3384:5:14" }, "nodeType": "YulFunctionCall", - "src": "3062:24:26" + "src": "3384:24:14" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3052:6:26", + "src": "3374:6:14", "type": "" } ] @@ -2419,7 +2738,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3133:83:26", + "src": "3455:83:14", "statements": [ { "expression": { @@ -2427,13 +2746,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3135:77:26" + "src": "3457:77:14" }, "nodeType": "YulFunctionCall", - "src": "3135:79:26" + "src": "3457:79:14" }, "nodeType": "YulExpressionStatement", - "src": "3135:79:26" + "src": "3457:79:14" } ] }, @@ -2442,12 +2761,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3105:6:26" + "src": "3427:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3113:18:26", + "src": "3435:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -2455,17 +2774,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3102:2:26" + "src": "3424:2:14" }, "nodeType": "YulFunctionCall", - "src": "3102:30:26" + "src": "3424:30:14" }, "nodeType": "YulIf", - "src": "3099:117:26" + "src": "3421:117:14" }, { "nodeType": "YulAssignment", - "src": "3230:84:26", + "src": "3552:84:14", "value": { "arguments": [ { @@ -2473,41 +2792,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3286:9:26" + "src": "3608:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3297:6:26" + "src": "3619:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3282:3:26" + "src": "3604:3:14" }, "nodeType": "YulFunctionCall", - "src": "3282:22:26" + "src": "3604:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3306:7:26" + "src": "3628:7:14" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3240:41:26" + "src": "3562:41:14" }, "nodeType": "YulFunctionCall", - "src": "3240:74:26" + "src": "3562:74:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3230:6:26" + "src": "3552:6:14" } ] } @@ -2515,11 +2834,11 @@ }, { "nodeType": "YulBlock", - "src": "3334:292:26", + "src": "3656:292:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3349:39:26", + "src": "3671:39:14", "value": { "arguments": [ { @@ -2527,12 +2846,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3373:9:26" + "src": "3695:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3384:2:26", + "src": "3706:2:14", "type": "", "value": "32" } @@ -2540,25 +2859,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3369:3:26" + "src": "3691:3:14" }, "nodeType": "YulFunctionCall", - "src": "3369:18:26" + "src": "3691:18:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3363:5:26" + "src": "3685:5:14" }, "nodeType": "YulFunctionCall", - "src": "3363:25:26" + "src": "3685:25:14" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3353:6:26", + "src": "3675:6:14", "type": "" } ] @@ -2566,7 +2885,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3435:83:26", + "src": "3757:83:14", "statements": [ { "expression": { @@ -2574,13 +2893,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3437:77:26" + "src": "3759:77:14" }, "nodeType": "YulFunctionCall", - "src": "3437:79:26" + "src": "3759:79:14" }, "nodeType": "YulExpressionStatement", - "src": "3437:79:26" + "src": "3759:79:14" } ] }, @@ -2589,12 +2908,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3407:6:26" + "src": "3729:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3415:18:26", + "src": "3737:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -2602,17 +2921,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3404:2:26" + "src": "3726:2:14" }, "nodeType": "YulFunctionCall", - "src": "3404:30:26" + "src": "3726:30:14" }, "nodeType": "YulIf", - "src": "3401:117:26" + "src": "3723:117:14" }, { "nodeType": "YulAssignment", - "src": "3532:84:26", + "src": "3854:84:14", "value": { "arguments": [ { @@ -2620,41 +2939,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3588:9:26" + "src": "3910:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3599:6:26" + "src": "3921:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3584:3:26" + "src": "3906:3:14" }, "nodeType": "YulFunctionCall", - "src": "3584:22:26" + "src": "3906:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3608:7:26" + "src": "3930:7:14" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3542:41:26" + "src": "3864:41:14" }, "nodeType": "YulFunctionCall", - "src": "3542:74:26" + "src": "3864:74:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "3532:6:26" + "src": "3854:6:14" } ] } @@ -2662,104 +2981,30 @@ }, { "nodeType": "YulBlock", - "src": "3636:292:26", + "src": "3958:129:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3651:39:26", + "src": "3973:16:14", "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3675:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3686:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3671:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "3671:18:26" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3665:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "3665:25:26" + "kind": "number", + "nodeType": "YulLiteral", + "src": "3987:2:14", + "type": "", + "value": "64" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3655:6:26", + "src": "3977:6:14", "type": "" } ] }, - { - "body": { - "nodeType": "YulBlock", - "src": "3737:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "3739:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "3739:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "3739:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3709:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3717:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3706:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "3706:30:26" - }, - "nodeType": "YulIf", - "src": "3703:117:26" - }, { "nodeType": "YulAssignment", - "src": "3834:84:26", + "src": "4003:74:14", "value": { "arguments": [ { @@ -2767,188 +3012,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3890:9:26" + "src": "4049:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3901:6:26" + "src": "4060:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3886:3:26" + "src": "4045:3:14" }, "nodeType": "YulFunctionCall", - "src": "3886:22:26" + "src": "4045:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3910:7:26" + "src": "4069:7:14" } ], "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", + "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "3844:41:26" + "src": "4013:31:14" }, "nodeType": "YulFunctionCall", - "src": "3844:74:26" + "src": "4013:64:14" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "3834:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "3938:292:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3953:39:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3977:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3988:2:26", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3973:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "3973:18:26" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3967:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "3967:25:26" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3957:6:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4039:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "4041:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "4041:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "4041:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4011:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4019:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4008:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "4008:30:26" - }, - "nodeType": "YulIf", - "src": "4005:117:26" - }, - { - "nodeType": "YulAssignment", - "src": "4136:84:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4192:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4203:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4188:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "4188:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4212:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr_fromMemory", - "nodeType": "YulIdentifier", - "src": "4146:41:26" - }, - "nodeType": "YulFunctionCall", - "src": "4146:74:26" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4136:6:26" + "src": "4003:6:14" } ] } @@ -2956,19 +3054,19 @@ } ] }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptr_fromMemory", + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2839:9:26", + "src": "3170:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "2850:7:26", + "src": "3181:7:14", "type": "" } ], @@ -2976,34 +3074,28 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "2862:6:26", + "src": "3193:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "2870:6:26", + "src": "3201:6:14", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "2878:6:26", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2886:6:26", + "src": "3209:6:14", "type": "" } ], - "src": "2725:1512:26" + "src": "3085:1009:14" }, { "body": { "nodeType": "YulBlock", - "src": "4271:152:26", + "src": "4128:152:14", "statements": [ { "expression": { @@ -3011,14 +3103,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4288:1:26", + "src": "4145:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4291:77:26", + "src": "4148:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -3026,13 +3118,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4281:6:26" + "src": "4138:6:14" }, "nodeType": "YulFunctionCall", - "src": "4281:88:26" + "src": "4138:88:14" }, "nodeType": "YulExpressionStatement", - "src": "4281:88:26" + "src": "4138:88:14" }, { "expression": { @@ -3040,14 +3132,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4385:1:26", + "src": "4242:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4388:4:26", + "src": "4245:4:14", "type": "", "value": "0x22" } @@ -3055,13 +3147,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4378:6:26" + "src": "4235:6:14" }, "nodeType": "YulFunctionCall", - "src": "4378:15:26" + "src": "4235:15:14" }, "nodeType": "YulExpressionStatement", - "src": "4378:15:26" + "src": "4235:15:14" }, { "expression": { @@ -3069,14 +3161,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4409:1:26", + "src": "4266:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4412:4:26", + "src": "4269:4:14", "type": "", "value": "0x24" } @@ -3084,39 +3176,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4402:6:26" + "src": "4259:6:14" }, "nodeType": "YulFunctionCall", - "src": "4402:15:26" + "src": "4259:15:14" }, "nodeType": "YulExpressionStatement", - "src": "4402:15:26" + "src": "4259:15:14" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "4243:180:26" + "src": "4100:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "4480:269:26", + "src": "4337:269:14", "statements": [ { "nodeType": "YulAssignment", - "src": "4490:22:26", + "src": "4347:22:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4504:4:26" + "src": "4361:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4510:1:26", + "src": "4367:1:14", "type": "", "value": "2" } @@ -3124,33 +3216,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4500:3:26" + "src": "4357:3:14" }, "nodeType": "YulFunctionCall", - "src": "4500:12:26" + "src": "4357:12:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4490:6:26" + "src": "4347:6:14" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "4521:38:26", + "src": "4378:38:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4551:4:26" + "src": "4408:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4557:1:26", + "src": "4414:1:14", "type": "", "value": "1" } @@ -3158,16 +3250,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4547:3:26" + "src": "4404:3:14" }, "nodeType": "YulFunctionCall", - "src": "4547:12:26" + "src": "4404:12:14" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "4525:18:26", + "src": "4382:18:14", "type": "" } ] @@ -3175,22 +3267,22 @@ { "body": { "nodeType": "YulBlock", - "src": "4598:51:26", + "src": "4455:51:14", "statements": [ { "nodeType": "YulAssignment", - "src": "4612:27:26", + "src": "4469:27:14", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4626:6:26" + "src": "4483:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4634:4:26", + "src": "4491:4:14", "type": "", "value": "0x7f" } @@ -3198,16 +3290,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4622:3:26" + "src": "4479:3:14" }, "nodeType": "YulFunctionCall", - "src": "4622:17:26" + "src": "4479:17:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4612:6:26" + "src": "4469:6:14" } ] } @@ -3218,24 +3310,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4578:18:26" + "src": "4435:18:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4571:6:26" + "src": "4428:6:14" }, "nodeType": "YulFunctionCall", - "src": "4571:26:26" + "src": "4428:26:14" }, "nodeType": "YulIf", - "src": "4568:81:26" + "src": "4425:81:14" }, { "body": { "nodeType": "YulBlock", - "src": "4701:42:26", + "src": "4558:42:14", "statements": [ { "expression": { @@ -3243,13 +3335,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "4715:16:26" + "src": "4572:16:14" }, "nodeType": "YulFunctionCall", - "src": "4715:18:26" + "src": "4572:18:14" }, "nodeType": "YulExpressionStatement", - "src": "4715:18:26" + "src": "4572:18:14" } ] }, @@ -3258,19 +3350,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4665:18:26" + "src": "4522:18:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4688:6:26" + "src": "4545:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4696:2:26", + "src": "4553:2:14", "type": "", "value": "32" } @@ -3278,22 +3370,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4685:2:26" + "src": "4542:2:14" }, "nodeType": "YulFunctionCall", - "src": "4685:14:26" + "src": "4542:14:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4662:2:26" + "src": "4519:2:14" }, "nodeType": "YulFunctionCall", - "src": "4662:38:26" + "src": "4519:38:14" }, "nodeType": "YulIf", - "src": "4659:84:26" + "src": "4516:84:14" } ] }, @@ -3303,7 +3395,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "4464:4:26", + "src": "4321:4:14", "type": "" } ], @@ -3311,16 +3403,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "4473:6:26", + "src": "4330:6:14", "type": "" } ], - "src": "4429:320:26" + "src": "4286:320: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 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 abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { 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 := mload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_string_memory_ptr_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": 26, + "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, "language": "Yul", "name": "#utility.yul" } @@ -3329,22 +3421,22 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:45312:26", + "src": "0:50597:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:26", + "src": "47:35:14", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:26", + "src": "57:19:14", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:26", + "src": "73:2:14", "type": "", "value": "64" } @@ -3352,16 +3444,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:26" + "src": "67:5:14" }, "nodeType": "YulFunctionCall", - "src": "67:9:26" + "src": "67:9:14" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:26" + "src": "57:6:14" } ] } @@ -3373,16 +3465,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:26", + "src": "40:6:14", "type": "" } ], - "src": "7:75:26" + "src": "7:75:14" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:26", + "src": "177:28:14", "statements": [ { "expression": { @@ -3390,14 +3482,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:26", + "src": "194:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:26", + "src": "197:1:14", "type": "", "value": "0" } @@ -3405,24 +3497,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:26" + "src": "187:6:14" }, "nodeType": "YulFunctionCall", - "src": "187:12:26" + "src": "187:12:14" }, "nodeType": "YulExpressionStatement", - "src": "187:12:26" + "src": "187:12:14" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:26" + "src": "88:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:26", + "src": "300:28:14", "statements": [ { "expression": { @@ -3430,14 +3522,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:26", + "src": "317:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:26", + "src": "320:1:14", "type": "", "value": "0" } @@ -3445,39 +3537,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:26" + "src": "310:6:14" }, "nodeType": "YulFunctionCall", - "src": "310:12:26" + "src": "310:12:14" }, "nodeType": "YulExpressionStatement", - "src": "310:12:26" + "src": "310:12:14" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:26" + "src": "211:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "378:105:26", + "src": "378:105:14", "statements": [ { "nodeType": "YulAssignment", - "src": "388:89:26", + "src": "388:89:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "403:5:26" + "src": "403:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "410:66:26", + "src": "410:66:14", "type": "", "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" } @@ -3485,16 +3577,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "399:3:26" + "src": "399:3:14" }, "nodeType": "YulFunctionCall", - "src": "399:78:26" + "src": "399:78:14" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "388:7:26" + "src": "388:7:14" } ] } @@ -3506,7 +3598,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "360:5:26", + "src": "360:5:14", "type": "" } ], @@ -3514,21 +3606,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "370:7:26", + "src": "370:7:14", "type": "" } ], - "src": "334:149:26" + "src": "334:149:14" }, { "body": { "nodeType": "YulBlock", - "src": "531:78:26", + "src": "531:78:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "587:16:26", + "src": "587:16:14", "statements": [ { "expression": { @@ -3536,14 +3628,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "596:1:26", + "src": "596:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "599:1:26", + "src": "599:1:14", "type": "", "value": "0" } @@ -3551,13 +3643,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "589:6:26" + "src": "589:6:14" }, "nodeType": "YulFunctionCall", - "src": "589:12:26" + "src": "589:12:14" }, "nodeType": "YulExpressionStatement", - "src": "589:12:26" + "src": "589:12:14" } ] }, @@ -3568,44 +3660,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "554:5:26" + "src": "554:5:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "578:5:26" + "src": "578:5:14" } ], "functionName": { "name": "cleanup_t_bytes4", "nodeType": "YulIdentifier", - "src": "561:16:26" + "src": "561:16:14" }, "nodeType": "YulFunctionCall", - "src": "561:23:26" + "src": "561:23:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "551:2:26" + "src": "551:2:14" }, "nodeType": "YulFunctionCall", - "src": "551:34:26" + "src": "551:34:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "544:6:26" + "src": "544:6:14" }, "nodeType": "YulFunctionCall", - "src": "544:42:26" + "src": "544:42:14" }, "nodeType": "YulIf", - "src": "541:62:26" + "src": "541:62:14" } ] }, @@ -3615,41 +3707,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "524:5:26", + "src": "524:5:14", "type": "" } ], - "src": "489:120:26" + "src": "489:120:14" }, { "body": { "nodeType": "YulBlock", - "src": "666:86:26", + "src": "666:86:14", "statements": [ { "nodeType": "YulAssignment", - "src": "676:29:26", + "src": "676:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "698:6:26" + "src": "698:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "685:12:26" + "src": "685:12:14" }, "nodeType": "YulFunctionCall", - "src": "685:20:26" + "src": "685:20:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "676:5:26" + "src": "676:5:14" } ] }, @@ -3659,19 +3751,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "740:5:26" + "src": "740:5:14" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "714:25:26" + "src": "714:25:14" }, "nodeType": "YulFunctionCall", - "src": "714:32:26" + "src": "714:32:14" }, "nodeType": "YulExpressionStatement", - "src": "714:32:26" + "src": "714:32:14" } ] }, @@ -3681,13 +3773,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "644:6:26", + "src": "644:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "652:3:26", + "src": "652:3:14", "type": "" } ], @@ -3695,21 +3787,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "660:5:26", + "src": "660:5:14", "type": "" } ], - "src": "615:137:26" + "src": "615:137:14" }, { "body": { "nodeType": "YulBlock", - "src": "823:262:26", + "src": "823:262:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "869:83:26", + "src": "869:83:14", "statements": [ { "expression": { @@ -3717,13 +3809,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "871:77:26" + "src": "871:77:14" }, "nodeType": "YulFunctionCall", - "src": "871:79:26" + "src": "871:79:14" }, "nodeType": "YulExpressionStatement", - "src": "871:79:26" + "src": "871:79:14" } ] }, @@ -3734,26 +3826,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "844:7:26" + "src": "844:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "853:9:26" + "src": "853:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "840:3:26" + "src": "840:3:14" }, "nodeType": "YulFunctionCall", - "src": "840:23:26" + "src": "840:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "865:2:26", + "src": "865:2:14", "type": "", "value": "32" } @@ -3761,25 +3853,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "836:3:26" + "src": "836:3:14" }, "nodeType": "YulFunctionCall", - "src": "836:32:26" + "src": "836:32:14" }, "nodeType": "YulIf", - "src": "833:119:26" + "src": "833:119:14" }, { "nodeType": "YulBlock", - "src": "962:116:26", + "src": "962:116:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "977:15:26", + "src": "977:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "991:1:26", + "src": "991:1:14", "type": "", "value": "0" }, @@ -3787,14 +3879,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "981:6:26", + "src": "981:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1006:62:26", + "src": "1006:62:14", "value": { "arguments": [ { @@ -3802,41 +3894,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1040:9:26" + "src": "1040:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1051:6:26" + "src": "1051:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1036:3:26" + "src": "1036:3:14" }, "nodeType": "YulFunctionCall", - "src": "1036:22:26" + "src": "1036:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1060:7:26" + "src": "1060:7:14" } ], "functionName": { "name": "abi_decode_t_bytes4", "nodeType": "YulIdentifier", - "src": "1016:19:26" + "src": "1016:19:14" }, "nodeType": "YulFunctionCall", - "src": "1016:52:26" + "src": "1016:52:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1006:6:26" + "src": "1006:6:14" } ] } @@ -3850,13 +3942,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "793:9:26", + "src": "793:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "804:7:26", + "src": "804:7:14", "type": "" } ], @@ -3864,20 +3956,20 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "816:6:26", + "src": "816:6:14", "type": "" } ], - "src": "758:327:26" + "src": "758:327:14" }, { "body": { "nodeType": "YulBlock", - "src": "1133:48:26", + "src": "1133:48:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1143:32:26", + "src": "1143:32:14", "value": { "arguments": [ { @@ -3885,31 +3977,31 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "1168:5:26" + "src": "1168:5:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1161:6:26" + "src": "1161:6:14" }, "nodeType": "YulFunctionCall", - "src": "1161:13:26" + "src": "1161:13:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1154:6:26" + "src": "1154:6:14" }, "nodeType": "YulFunctionCall", - "src": "1154:21:26" + "src": "1154:21:14" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1143:7:26" + "src": "1143:7:14" } ] } @@ -3921,7 +4013,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1115:5:26", + "src": "1115:5:14", "type": "" } ], @@ -3929,16 +4021,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1125:7:26", + "src": "1125:7:14", "type": "" } ], - "src": "1091:90:26" + "src": "1091:90:14" }, { "body": { "nodeType": "YulBlock", - "src": "1246:50:26", + "src": "1246:50:14", "statements": [ { "expression": { @@ -3946,35 +4038,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1263:3:26" + "src": "1263:3:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1283:5:26" + "src": "1283:5:14" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "1268:14:26" + "src": "1268:14:14" }, "nodeType": "YulFunctionCall", - "src": "1268:21:26" + "src": "1268:21:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1256:6:26" + "src": "1256:6:14" }, "nodeType": "YulFunctionCall", - "src": "1256:34:26" + "src": "1256:34:14" }, "nodeType": "YulExpressionStatement", - "src": "1256:34:26" + "src": "1256:34:14" } ] }, @@ -3984,37 +4076,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1234:5:26", + "src": "1234:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "1241:3:26", + "src": "1241:3:14", "type": "" } ], - "src": "1187:109:26" + "src": "1187:109:14" }, { "body": { "nodeType": "YulBlock", - "src": "1394:118:26", + "src": "1394:118:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1404:26:26", + "src": "1404:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1416:9:26" + "src": "1416:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1427:2:26", + "src": "1427:2:14", "type": "", "value": "32" } @@ -4022,16 +4114,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1412:3:26" + "src": "1412:3:14" }, "nodeType": "YulFunctionCall", - "src": "1412:18:26" + "src": "1412:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1404:4:26" + "src": "1404:4:14" } ] }, @@ -4041,19 +4133,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1478:6:26" + "src": "1478:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1491:9:26" + "src": "1491:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1502:1:26", + "src": "1502:1:14", "type": "", "value": "0" } @@ -4061,22 +4153,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1487:3:26" + "src": "1487:3:14" }, "nodeType": "YulFunctionCall", - "src": "1487:17:26" + "src": "1487:17:14" } ], "functionName": { "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "1440:37:26" + "src": "1440:37:14" }, "nodeType": "YulFunctionCall", - "src": "1440:65:26" + "src": "1440:65:14" }, "nodeType": "YulExpressionStatement", - "src": "1440:65:26" + "src": "1440:65:14" } ] }, @@ -4086,13 +4178,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1366:9:26", + "src": "1366:9:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "1378:6:26", + "src": "1378:6:14", "type": "" } ], @@ -4100,41 +4192,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "1389:4:26", + "src": "1389:4:14", "type": "" } ], - "src": "1302:210:26" + "src": "1302:210:14" }, { "body": { "nodeType": "YulBlock", - "src": "1577:40:26", + "src": "1577:40:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1588:22:26", + "src": "1588:22:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1604:5:26" + "src": "1604:5:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1598:5:26" + "src": "1598:5:14" }, "nodeType": "YulFunctionCall", - "src": "1598:12:26" + "src": "1598:12:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1588:6:26" + "src": "1588:6:14" } ] } @@ -4146,7 +4238,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1560:5:26", + "src": "1560:5:14", "type": "" } ], @@ -4154,16 +4246,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1570:6:26", + "src": "1570:6:14", "type": "" } ], - "src": "1518:99:26" + "src": "1518:99:14" }, { "body": { "nodeType": "YulBlock", - "src": "1719:73:26", + "src": "1719:73:14", "statements": [ { "expression": { @@ -4171,39 +4263,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1736:3:26" + "src": "1736:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1741:6:26" + "src": "1741:6:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1729:6:26" + "src": "1729:6:14" }, "nodeType": "YulFunctionCall", - "src": "1729:19:26" + "src": "1729:19:14" }, "nodeType": "YulExpressionStatement", - "src": "1729:19:26" + "src": "1729:19:14" }, { "nodeType": "YulAssignment", - "src": "1757:29:26", + "src": "1757:29:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1776:3:26" + "src": "1776:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1781:4:26", + "src": "1781:4:14", "type": "", "value": "0x20" } @@ -4211,16 +4303,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1772:3:26" + "src": "1772:3:14" }, "nodeType": "YulFunctionCall", - "src": "1772:14:26" + "src": "1772:14:14" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "1757:11:26" + "src": "1757:11:14" } ] } @@ -4232,13 +4324,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "1691:3:26", + "src": "1691:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1696:6:26", + "src": "1696:6:14", "type": "" } ], @@ -4246,24 +4338,24 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "1707:11:26", + "src": "1707:11:14", "type": "" } ], - "src": "1623:169:26" + "src": "1623:169:14" }, { "body": { "nodeType": "YulBlock", - "src": "1847:258:26", + "src": "1847:258:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1857:10:26", + "src": "1857:10:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1866:1:26", + "src": "1866:1:14", "type": "", "value": "0" }, @@ -4271,7 +4363,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1861:1:26", + "src": "1861:1:14", "type": "" } ] @@ -4279,7 +4371,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1926:63:26", + "src": "1926:63:14", "statements": [ { "expression": { @@ -4289,21 +4381,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1951:3:26" + "src": "1951:3:14" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1956:1:26" + "src": "1956:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1947:3:26" + "src": "1947:3:14" }, "nodeType": "YulFunctionCall", - "src": "1947:11:26" + "src": "1947:11:14" }, { "arguments": [ @@ -4312,42 +4404,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1970:3:26" + "src": "1970:3:14" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1975:1:26" + "src": "1975:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1966:3:26" + "src": "1966:3:14" }, "nodeType": "YulFunctionCall", - "src": "1966:11:26" + "src": "1966:11:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1960:5:26" + "src": "1960:5:14" }, "nodeType": "YulFunctionCall", - "src": "1960:18:26" + "src": "1960:18:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1940:6:26" + "src": "1940:6:14" }, "nodeType": "YulFunctionCall", - "src": "1940:39:26" + "src": "1940:39:14" }, "nodeType": "YulExpressionStatement", - "src": "1940:39:26" + "src": "1940:39:14" } ] }, @@ -4356,41 +4448,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1887:1:26" + "src": "1887:1:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:26" + "src": "1890:6:14" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1884:2:26" + "src": "1884:2:14" }, "nodeType": "YulFunctionCall", - "src": "1884:13:26" + "src": "1884:13:14" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1898:19:26", + "src": "1898:19:14", "statements": [ { "nodeType": "YulAssignment", - "src": "1900:15:26", + "src": "1900:15:14", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1909:1:26" + "src": "1909:1:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1912:2:26", + "src": "1912:2:14", "type": "", "value": "32" } @@ -4398,16 +4490,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1905:3:26" + "src": "1905:3:14" }, "nodeType": "YulFunctionCall", - "src": "1905:10:26" + "src": "1905:10:14" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1900:1:26" + "src": "1900:1:14" } ] } @@ -4415,15 +4507,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1880:3:26", + "src": "1880:3:14", "statements": [] }, - "src": "1876:113:26" + "src": "1876:113:14" }, { "body": { "nodeType": "YulBlock", - "src": "2023:76:26", + "src": "2023:76:14", "statements": [ { "expression": { @@ -4433,26 +4525,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "2073:3:26" + "src": "2073:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2078:6:26" + "src": "2078:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2069:3:26" + "src": "2069:3:14" }, "nodeType": "YulFunctionCall", - "src": "2069:16:26" + "src": "2069:16:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2087:1:26", + "src": "2087:1:14", "type": "", "value": "0" } @@ -4460,13 +4552,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2062:6:26" + "src": "2062:6:14" }, "nodeType": "YulFunctionCall", - "src": "2062:27:26" + "src": "2062:27:14" }, "nodeType": "YulExpressionStatement", - "src": "2062:27:26" + "src": "2062:27:14" } ] }, @@ -4475,24 +4567,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "2004:1:26" + "src": "2004:1:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2007:6:26" + "src": "2007:6:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2001:2:26" + "src": "2001:2:14" }, "nodeType": "YulFunctionCall", - "src": "2001:13:26" + "src": "2001:13:14" }, "nodeType": "YulIf", - "src": "1998:101:26" + "src": "1998:101:14" } ] }, @@ -4502,32 +4594,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1829:3:26", + "src": "1829:3:14", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1834:3:26", + "src": "1834:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1839:6:26", + "src": "1839:6:14", "type": "" } ], - "src": "1798:307:26" + "src": "1798:307:14" }, { "body": { "nodeType": "YulBlock", - "src": "2159:54:26", + "src": "2159:54:14", "statements": [ { "nodeType": "YulAssignment", - "src": "2169:38:26", + "src": "2169:38:14", "value": { "arguments": [ { @@ -4535,12 +4627,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2187:5:26" + "src": "2187:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2194:2:26", + "src": "2194:2:14", "type": "", "value": "31" } @@ -4548,17 +4640,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2183:3:26" + "src": "2183:3:14" }, "nodeType": "YulFunctionCall", - "src": "2183:14:26" + "src": "2183:14:14" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "2203:2:26", + "src": "2203:2:14", "type": "", "value": "31" } @@ -4566,25 +4658,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "2199:3:26" + "src": "2199:3:14" }, "nodeType": "YulFunctionCall", - "src": "2199:7:26" + "src": "2199:7:14" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2179:3:26" + "src": "2179:3:14" }, "nodeType": "YulFunctionCall", - "src": "2179:28:26" + "src": "2179:28:14" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "2169:6:26" + "src": "2169:6:14" } ] } @@ -4596,7 +4688,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2142:5:26", + "src": "2142:5:14", "type": "" } ], @@ -4604,74 +4696,74 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "2152:6:26", + "src": "2152:6:14", "type": "" } ], - "src": "2111:102:26" + "src": "2111:102:14" }, { "body": { "nodeType": "YulBlock", - "src": "2311:272:26", + "src": "2311:272:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2321:53:26", + "src": "2321:53:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2368:5:26" + "src": "2368:5:14" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2335:32:26" + "src": "2335:32:14" }, "nodeType": "YulFunctionCall", - "src": "2335:39:26" + "src": "2335:39:14" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2325:6:26", + "src": "2325:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2383:78:26", + "src": "2383:78:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2449:3:26" + "src": "2449:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2454:6:26" + "src": "2454:6:14" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2390:58:26" + "src": "2390:58:14" }, "nodeType": "YulFunctionCall", - "src": "2390:71:26" + "src": "2390:71:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2383:3:26" + "src": "2383:3:14" } ] }, @@ -4683,12 +4775,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2496:5:26" + "src": "2496:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2503:4:26", + "src": "2503:4:14", "type": "", "value": "0x20" } @@ -4696,73 +4788,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2492:3:26" + "src": "2492:3:14" }, "nodeType": "YulFunctionCall", - "src": "2492:16:26" + "src": "2492:16:14" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "2510:3:26" + "src": "2510:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2515:6:26" + "src": "2515:6:14" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2470:21:26" + "src": "2470:21:14" }, "nodeType": "YulFunctionCall", - "src": "2470:52:26" + "src": "2470:52:14" }, "nodeType": "YulExpressionStatement", - "src": "2470:52:26" + "src": "2470:52:14" }, { "nodeType": "YulAssignment", - "src": "2531:46:26", + "src": "2531:46:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2542:3:26" + "src": "2542:3:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "2569:6:26" + "src": "2569:6:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "2547:21:26" + "src": "2547:21:14" }, "nodeType": "YulFunctionCall", - "src": "2547:29:26" + "src": "2547:29:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2538:3:26" + "src": "2538:3:14" }, "nodeType": "YulFunctionCall", - "src": "2538:39:26" + "src": "2538:39:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "2531:3:26" + "src": "2531:3:14" } ] } @@ -4774,13 +4866,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2292:5:26", + "src": "2292:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2299:3:26", + "src": "2299:3:14", "type": "" } ], @@ -4788,31 +4880,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "2307:3:26", + "src": "2307:3:14", "type": "" } ], - "src": "2219:364:26" + "src": "2219:364:14" }, { "body": { "nodeType": "YulBlock", - "src": "2707:195:26", + "src": "2707:195:14", "statements": [ { "nodeType": "YulAssignment", - "src": "2717:26:26", + "src": "2717:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2729:9:26" + "src": "2729:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2740:2:26", + "src": "2740:2:14", "type": "", "value": "32" } @@ -4820,16 +4912,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2725:3:26" + "src": "2725:3:14" }, "nodeType": "YulFunctionCall", - "src": "2725:18:26" + "src": "2725:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2717:4:26" + "src": "2717:4:14" } ] }, @@ -4841,12 +4933,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2764:9:26" + "src": "2764:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2775:1:26", + "src": "2775:1:14", "type": "", "value": "0" } @@ -4854,73 +4946,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2760:3:26" + "src": "2760:3:14" }, "nodeType": "YulFunctionCall", - "src": "2760:17:26" + "src": "2760:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2783:4:26" + "src": "2783:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2789:9:26" + "src": "2789:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2779:3:26" + "src": "2779:3:14" }, "nodeType": "YulFunctionCall", - "src": "2779:20:26" + "src": "2779:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2753:6:26" + "src": "2753:6:14" }, "nodeType": "YulFunctionCall", - "src": "2753:47:26" + "src": "2753:47:14" }, "nodeType": "YulExpressionStatement", - "src": "2753:47:26" + "src": "2753:47:14" }, { "nodeType": "YulAssignment", - "src": "2809:86:26", + "src": "2809:86:14", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2881:6:26" + "src": "2881:6:14" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "2890:4:26" + "src": "2890:4:14" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2817:63:26" + "src": "2817:63:14" }, "nodeType": "YulFunctionCall", - "src": "2817:78:26" + "src": "2817:78:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2809:4:26" + "src": "2809:4:14" } ] } @@ -4932,13 +5024,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2679:9:26", + "src": "2679:9:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "2691:6:26", + "src": "2691:6:14", "type": "" } ], @@ -4946,30 +5038,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2702:4:26", + "src": "2702:4:14", "type": "" } ], - "src": "2589:313:26" + "src": "2589:313:14" }, { "body": { "nodeType": "YulBlock", - "src": "2953:32:26", + "src": "2953:32:14", "statements": [ { "nodeType": "YulAssignment", - "src": "2963:16:26", + "src": "2963:16:14", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2974:5:26" + "src": "2974:5:14" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2963:7:26" + "src": "2963:7:14" } ] } @@ -4981,7 +5073,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2935:5:26", + "src": "2935:5:14", "type": "" } ], @@ -4989,21 +5081,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2945:7:26", + "src": "2945:7:14", "type": "" } ], - "src": "2908:77:26" + "src": "2908:77:14" }, { "body": { "nodeType": "YulBlock", - "src": "3034:79:26", + "src": "3034:79:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3091:16:26", + "src": "3091:16:14", "statements": [ { "expression": { @@ -5011,14 +5103,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "3100:1:26", + "src": "3100:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3103:1:26", + "src": "3103:1:14", "type": "", "value": "0" } @@ -5026,13 +5118,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "3093:6:26" + "src": "3093:6:14" }, "nodeType": "YulFunctionCall", - "src": "3093:12:26" + "src": "3093:12:14" }, "nodeType": "YulExpressionStatement", - "src": "3093:12:26" + "src": "3093:12:14" } ] }, @@ -5043,44 +5135,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3057:5:26" + "src": "3057:5:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3082:5:26" + "src": "3082:5:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3064:17:26" + "src": "3064:17:14" }, "nodeType": "YulFunctionCall", - "src": "3064:24:26" + "src": "3064:24:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "3054:2:26" + "src": "3054:2:14" }, "nodeType": "YulFunctionCall", - "src": "3054:35:26" + "src": "3054:35:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3047:6:26" + "src": "3047:6:14" }, "nodeType": "YulFunctionCall", - "src": "3047:43:26" + "src": "3047:43:14" }, "nodeType": "YulIf", - "src": "3044:63:26" + "src": "3044:63:14" } ] }, @@ -5090,41 +5182,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3027:5:26", + "src": "3027:5:14", "type": "" } ], - "src": "2991:122:26" + "src": "2991:122:14" }, { "body": { "nodeType": "YulBlock", - "src": "3171:87:26", + "src": "3171:87:14", "statements": [ { "nodeType": "YulAssignment", - "src": "3181:29:26", + "src": "3181:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3203:6:26" + "src": "3203:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "3190:12:26" + "src": "3190:12:14" }, "nodeType": "YulFunctionCall", - "src": "3190:20:26" + "src": "3190:20:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3181:5:26" + "src": "3181:5:14" } ] }, @@ -5134,19 +5226,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3246:5:26" + "src": "3246:5:14" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "3219:26:26" + "src": "3219:26:14" }, "nodeType": "YulFunctionCall", - "src": "3219:33:26" + "src": "3219:33:14" }, "nodeType": "YulExpressionStatement", - "src": "3219:33:26" + "src": "3219:33:14" } ] }, @@ -5156,13 +5248,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3149:6:26", + "src": "3149:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "3157:3:26", + "src": "3157:3:14", "type": "" } ], @@ -5170,21 +5262,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3165:5:26", + "src": "3165:5:14", "type": "" } ], - "src": "3119:139:26" + "src": "3119:139:14" }, { "body": { "nodeType": "YulBlock", - "src": "3330:263:26", + "src": "3330:263:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3376:83:26", + "src": "3376:83:14", "statements": [ { "expression": { @@ -5192,13 +5284,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3378:77:26" + "src": "3378:77:14" }, "nodeType": "YulFunctionCall", - "src": "3378:79:26" + "src": "3378:79:14" }, "nodeType": "YulExpressionStatement", - "src": "3378:79:26" + "src": "3378:79:14" } ] }, @@ -5209,26 +5301,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3351:7:26" + "src": "3351:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3360:9:26" + "src": "3360:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3347:3:26" + "src": "3347:3:14" }, "nodeType": "YulFunctionCall", - "src": "3347:23:26" + "src": "3347:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3372:2:26", + "src": "3372:2:14", "type": "", "value": "32" } @@ -5236,25 +5328,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3343:3:26" + "src": "3343:3:14" }, "nodeType": "YulFunctionCall", - "src": "3343:32:26" + "src": "3343:32:14" }, "nodeType": "YulIf", - "src": "3340:119:26" + "src": "3340:119:14" }, { "nodeType": "YulBlock", - "src": "3469:117:26", + "src": "3469:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3484:15:26", + "src": "3484:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3498:1:26", + "src": "3498:1:14", "type": "", "value": "0" }, @@ -5262,14 +5354,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3488:6:26", + "src": "3488:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "3513:63:26", + "src": "3513:63:14", "value": { "arguments": [ { @@ -5277,41 +5369,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3548:9:26" + "src": "3548:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3559:6:26" + "src": "3559:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3544:3:26" + "src": "3544:3:14" }, "nodeType": "YulFunctionCall", - "src": "3544:22:26" + "src": "3544:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3568:7:26" + "src": "3568:7:14" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "3523:20:26" + "src": "3523:20:14" }, "nodeType": "YulFunctionCall", - "src": "3523:53:26" + "src": "3523:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3513:6:26" + "src": "3513:6:14" } ] } @@ -5325,13 +5417,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3300:9:26", + "src": "3300:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3311:7:26", + "src": "3311:7:14", "type": "" } ], @@ -5339,31 +5431,31 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3323:6:26", + "src": "3323:6:14", "type": "" } ], - "src": "3264:329:26" + "src": "3264:329:14" }, { "body": { "nodeType": "YulBlock", - "src": "3644:81:26", + "src": "3644:81:14", "statements": [ { "nodeType": "YulAssignment", - "src": "3654:65:26", + "src": "3654:65:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3669:5:26" + "src": "3669:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3676:42:26", + "src": "3676:42:14", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -5371,16 +5463,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3665:3:26" + "src": "3665:3:14" }, "nodeType": "YulFunctionCall", - "src": "3665:54:26" + "src": "3665:54:14" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3654:7:26" + "src": "3654:7:14" } ] } @@ -5392,7 +5484,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3626:5:26", + "src": "3626:5:14", "type": "" } ], @@ -5400,41 +5492,41 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3636:7:26", + "src": "3636:7:14", "type": "" } ], - "src": "3599:126:26" + "src": "3599:126:14" }, { "body": { "nodeType": "YulBlock", - "src": "3776:51:26", + "src": "3776:51:14", "statements": [ { "nodeType": "YulAssignment", - "src": "3786:35:26", + "src": "3786:35:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3815:5:26" + "src": "3815:5:14" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "3797:17:26" + "src": "3797:17:14" }, "nodeType": "YulFunctionCall", - "src": "3797:24:26" + "src": "3797:24:14" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3786:7:26" + "src": "3786:7:14" } ] } @@ -5446,7 +5538,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3758:5:26", + "src": "3758:5:14", "type": "" } ], @@ -5454,16 +5546,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3768:7:26", + "src": "3768:7:14", "type": "" } ], - "src": "3731:96:26" + "src": "3731:96:14" }, { "body": { "nodeType": "YulBlock", - "src": "3898:53:26", + "src": "3898:53:14", "statements": [ { "expression": { @@ -5471,35 +5563,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3915:3:26" + "src": "3915:3:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3938:5:26" + "src": "3938:5:14" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "3920:17:26" + "src": "3920:17:14" }, "nodeType": "YulFunctionCall", - "src": "3920:24:26" + "src": "3920:24:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3908:6:26" + "src": "3908:6:14" }, "nodeType": "YulFunctionCall", - "src": "3908:37:26" + "src": "3908:37:14" }, "nodeType": "YulExpressionStatement", - "src": "3908:37:26" + "src": "3908:37:14" } ] }, @@ -5509,37 +5601,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3886:5:26", + "src": "3886:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "3893:3:26", + "src": "3893:3:14", "type": "" } ], - "src": "3833:118:26" + "src": "3833:118:14" }, { "body": { "nodeType": "YulBlock", - "src": "4055:124:26", + "src": "4055:124:14", "statements": [ { "nodeType": "YulAssignment", - "src": "4065:26:26", + "src": "4065:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4077:9:26" + "src": "4077:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4088:2:26", + "src": "4088:2:14", "type": "", "value": "32" } @@ -5547,16 +5639,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4073:3:26" + "src": "4073:3:14" }, "nodeType": "YulFunctionCall", - "src": "4073:18:26" + "src": "4073:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "4065:4:26" + "src": "4065:4:14" } ] }, @@ -5566,19 +5658,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4145:6:26" + "src": "4145:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4158:9:26" + "src": "4158:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4169:1:26", + "src": "4169:1:14", "type": "", "value": "0" } @@ -5586,22 +5678,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4154:3:26" + "src": "4154:3:14" }, "nodeType": "YulFunctionCall", - "src": "4154:17:26" + "src": "4154:17:14" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "4101:43:26" + "src": "4101:43:14" }, "nodeType": "YulFunctionCall", - "src": "4101:71:26" + "src": "4101:71:14" }, "nodeType": "YulExpressionStatement", - "src": "4101:71:26" + "src": "4101:71:14" } ] }, @@ -5611,13 +5703,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4027:9:26", + "src": "4027:9:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "4039:6:26", + "src": "4039:6:14", "type": "" } ], @@ -5625,21 +5717,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "4050:4:26", + "src": "4050:4:14", "type": "" } ], - "src": "3957:222:26" + "src": "3957:222:14" }, { "body": { "nodeType": "YulBlock", - "src": "4228:79:26", + "src": "4228:79:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4285:16:26", + "src": "4285:16:14", "statements": [ { "expression": { @@ -5647,14 +5739,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4294:1:26", + "src": "4294:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4297:1:26", + "src": "4297:1:14", "type": "", "value": "0" } @@ -5662,13 +5754,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4287:6:26" + "src": "4287:6:14" }, "nodeType": "YulFunctionCall", - "src": "4287:12:26" + "src": "4287:12:14" }, "nodeType": "YulExpressionStatement", - "src": "4287:12:26" + "src": "4287:12:14" } ] }, @@ -5679,44 +5771,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4251:5:26" + "src": "4251:5:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4276:5:26" + "src": "4276:5:14" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "4258:17:26" + "src": "4258:17:14" }, "nodeType": "YulFunctionCall", - "src": "4258:24:26" + "src": "4258:24:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4248:2:26" + "src": "4248:2:14" }, "nodeType": "YulFunctionCall", - "src": "4248:35:26" + "src": "4248:35:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4241:6:26" + "src": "4241:6:14" }, "nodeType": "YulFunctionCall", - "src": "4241:43:26" + "src": "4241:43:14" }, "nodeType": "YulIf", - "src": "4238:63:26" + "src": "4238:63:14" } ] }, @@ -5726,41 +5818,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4221:5:26", + "src": "4221:5:14", "type": "" } ], - "src": "4185:122:26" + "src": "4185:122:14" }, { "body": { "nodeType": "YulBlock", - "src": "4365:87:26", + "src": "4365:87:14", "statements": [ { "nodeType": "YulAssignment", - "src": "4375:29:26", + "src": "4375:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "4397:6:26" + "src": "4397:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "4384:12:26" + "src": "4384:12:14" }, "nodeType": "YulFunctionCall", - "src": "4384:20:26" + "src": "4384:20:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4375:5:26" + "src": "4375:5:14" } ] }, @@ -5770,19 +5862,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4440:5:26" + "src": "4440:5:14" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "4413:26:26" + "src": "4413:26:14" }, "nodeType": "YulFunctionCall", - "src": "4413:33:26" + "src": "4413:33:14" }, "nodeType": "YulExpressionStatement", - "src": "4413:33:26" + "src": "4413:33:14" } ] }, @@ -5792,13 +5884,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4343:6:26", + "src": "4343:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "4351:3:26", + "src": "4351:3:14", "type": "" } ], @@ -5806,21 +5898,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4359:5:26", + "src": "4359:5:14", "type": "" } ], - "src": "4313:139:26" + "src": "4313:139:14" }, { "body": { "nodeType": "YulBlock", - "src": "4541:391:26", + "src": "4541:391:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4587:83:26", + "src": "4587:83:14", "statements": [ { "expression": { @@ -5828,13 +5920,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4589:77:26" + "src": "4589:77:14" }, "nodeType": "YulFunctionCall", - "src": "4589:79:26" + "src": "4589:79:14" }, "nodeType": "YulExpressionStatement", - "src": "4589:79:26" + "src": "4589:79:14" } ] }, @@ -5845,26 +5937,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4562:7:26" + "src": "4562:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4571:9:26" + "src": "4571:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4558:3:26" + "src": "4558:3:14" }, "nodeType": "YulFunctionCall", - "src": "4558:23:26" + "src": "4558:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4583:2:26", + "src": "4583:2:14", "type": "", "value": "64" } @@ -5872,25 +5964,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4554:3:26" + "src": "4554:3:14" }, "nodeType": "YulFunctionCall", - "src": "4554:32:26" + "src": "4554:32:14" }, "nodeType": "YulIf", - "src": "4551:119:26" + "src": "4551:119:14" }, { "nodeType": "YulBlock", - "src": "4680:117:26", + "src": "4680:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4695:15:26", + "src": "4695:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4709:1:26", + "src": "4709:1:14", "type": "", "value": "0" }, @@ -5898,14 +5990,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4699:6:26", + "src": "4699:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4724:63:26", + "src": "4724:63:14", "value": { "arguments": [ { @@ -5913,41 +6005,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4759:9:26" + "src": "4759:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4770:6:26" + "src": "4770:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4755:3:26" + "src": "4755:3:14" }, "nodeType": "YulFunctionCall", - "src": "4755:22:26" + "src": "4755:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4779:7:26" + "src": "4779:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4734:20:26" + "src": "4734:20:14" }, "nodeType": "YulFunctionCall", - "src": "4734:53:26" + "src": "4734:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4724:6:26" + "src": "4724:6:14" } ] } @@ -5955,15 +6047,15 @@ }, { "nodeType": "YulBlock", - "src": "4807:118:26", + "src": "4807:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4822:16:26", + "src": "4822:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4836:2:26", + "src": "4836:2:14", "type": "", "value": "32" }, @@ -5971,14 +6063,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4826:6:26", + "src": "4826:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4852:63:26", + "src": "4852:63:14", "value": { "arguments": [ { @@ -5986,41 +6078,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4887:9:26" + "src": "4887:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4898:6:26" + "src": "4898:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4883:3:26" + "src": "4883:3:14" }, "nodeType": "YulFunctionCall", - "src": "4883:22:26" + "src": "4883:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4907:7:26" + "src": "4907:7:14" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "4862:20:26" + "src": "4862:20:14" }, "nodeType": "YulFunctionCall", - "src": "4862:53:26" + "src": "4862:53:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "4852:6:26" + "src": "4852:6:14" } ] } @@ -6034,13 +6126,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4503:9:26", + "src": "4503:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4514:7:26", + "src": "4514:7:14", "type": "" } ], @@ -6048,1266 +6140,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4526:6:26", + "src": "4526:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "4534:6:26", + "src": "4534:6:14", "type": "" } ], - "src": "4458:474:26" + "src": "4458:474:14" }, { "body": { "nodeType": "YulBlock", - "src": "5027:28:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5044:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5047:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5037:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "5037:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5037:12:26" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "4938:117:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5150:28:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5167:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5170:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5160:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "5160:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5160:12:26" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulFunctionDefinition", - "src": "5061:117:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5273:28:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5290:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5293:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5283:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "5283:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5283:12:26" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulFunctionDefinition", - "src": "5184:117:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5414:478:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5463:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "5465:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "5465:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5465:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5442:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5450:4:26", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5438:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "5438:17:26" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5457:3:26" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5434:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "5434:27:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5427:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "5427:35:26" - }, - "nodeType": "YulIf", - "src": "5424:122:26" - }, - { - "nodeType": "YulAssignment", - "src": "5555:30:26", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5578:6:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5565:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "5565:20:26" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5555:6:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5628:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulIdentifier", - "src": "5630:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "5630:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5630:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5600:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5608:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5597:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "5597:30:26" - }, - "nodeType": "YulIf", - "src": "5594:117:26" - }, - { - "nodeType": "YulAssignment", - "src": "5720:29:26", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5736:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5744:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5732:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "5732:17:26" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "5720:8:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5803:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulIdentifier", - "src": "5805:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "5805:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "5805:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "5768:8:26" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5782:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5790:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "5778:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "5778:17:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5764:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "5764:32:26" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5798:3:26" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5761:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "5761:41:26" - }, - "nodeType": "YulIf", - "src": "5758:128:26" - } - ] - }, - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5381:6:26", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5389:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "5397:8:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5407:6:26", - "type": "" - } - ], - "src": "5324:568:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6068:909:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6114:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "6116:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "6116:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "6116:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6089:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6098:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6085:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6085:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6110:2:26", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6081:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6081:32:26" - }, - "nodeType": "YulIf", - "src": "6078:119:26" - }, - { - "nodeType": "YulBlock", - "src": "6207:117:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6222:15:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6236:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6226:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6251:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6286:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6297:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6282:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6282:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6306:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "6261:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "6261:53:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6251:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6334:313:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6349:46:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6380:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6391:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6376:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6376:18:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6363:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "6363:32:26" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6353:6:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6442:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "6444:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "6444:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "6444:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6414:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6422:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6411:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "6411:30:26" - }, - "nodeType": "YulIf", - "src": "6408:117:26" - }, - { - "nodeType": "YulAssignment", - "src": "6539:98:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6609:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6620:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6605:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6605:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6629:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nodeType": "YulIdentifier", - "src": "6557:47:26" - }, - "nodeType": "YulFunctionCall", - "src": "6557:80:26" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6539:6:26" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6547:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "6657:313:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6672:46:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6703:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6714:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6699:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6699:18:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6686:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "6686:32:26" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6676:6:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6765:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "6767:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "6767:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "6767:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6737:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6745:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6734:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "6734:30:26" - }, - "nodeType": "YulIf", - "src": "6731:117:26" - }, - { - "nodeType": "YulAssignment", - "src": "6862:98:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6932:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6943:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6928:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "6928:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6952:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", - "nodeType": "YulIdentifier", - "src": "6880:47:26" - }, - "nodeType": "YulFunctionCall", - "src": "6880:80:26" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6862:6:26" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "6870:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6006:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6017:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6029:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6037:6:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6045:6:26", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6053:6:26", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6061:6:26", - "type": "" - } - ], - "src": "5898:1079:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7083:519:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7129:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "7131:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "7131:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "7131:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7104:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7113:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7100:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "7100:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7125:2:26", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7096:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "7096:32:26" - }, - "nodeType": "YulIf", - "src": "7093:119:26" - }, - { - "nodeType": "YulBlock", - "src": "7222:117:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7237:15:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7251:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7241:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7266:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7301:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7312:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7297:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "7297:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7321:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "7276:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "7276:53:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7266:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7349:118:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7364:16:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7378:2:26", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7368:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7394:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7429:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7440:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7425:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "7425:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7449:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "7404:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "7404:53:26" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7394:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "7477:118:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7492:16:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7506:2:26", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7496:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7522:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7557:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7568:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7553:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "7553:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7577:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "7532:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "7532:53:26" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7522:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7037:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7048:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7060:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7068:6:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7076:6:26", - "type": "" - } - ], - "src": "6983:619:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7673:53:26", + "src": "5003:53:14", "statements": [ { "expression": { @@ -7315,35 +6163,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7690:3:26" + "src": "5020:3:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "7713:5:26" + "src": "5043:5:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "7695:17:26" + "src": "5025:17:14" }, "nodeType": "YulFunctionCall", - "src": "7695:24:26" + "src": "5025:24:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7683:6:26" + "src": "5013:6:14" }, "nodeType": "YulFunctionCall", - "src": "7683:37:26" + "src": "5013:37:14" }, "nodeType": "YulExpressionStatement", - "src": "7683:37:26" + "src": "5013:37:14" } ] }, @@ -7353,37 +6201,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "7661:5:26", + "src": "4991:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "7668:3:26", + "src": "4998:3:14", "type": "" } ], - "src": "7608:118:26" + "src": "4938:118:14" }, { "body": { "nodeType": "YulBlock", - "src": "7830:124:26", + "src": "5160:124:14", "statements": [ { "nodeType": "YulAssignment", - "src": "7840:26:26", + "src": "5170:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7852:9:26" + "src": "5182:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7863:2:26", + "src": "5193:2:14", "type": "", "value": "32" } @@ -7391,16 +6239,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7848:3:26" + "src": "5178:3:14" }, "nodeType": "YulFunctionCall", - "src": "7848:18:26" + "src": "5178:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7840:4:26" + "src": "5170:4:14" } ] }, @@ -7410,19 +6258,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7920:6:26" + "src": "5250:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7933:9:26" + "src": "5263:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7944:1:26", + "src": "5274:1:14", "type": "", "value": "0" } @@ -7430,22 +6278,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7929:3:26" + "src": "5259:3:14" }, "nodeType": "YulFunctionCall", - "src": "7929:17:26" + "src": "5259:17:14" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "7876:43:26" + "src": "5206:43:14" }, "nodeType": "YulFunctionCall", - "src": "7876:71:26" + "src": "5206:71:14" }, "nodeType": "YulExpressionStatement", - "src": "7876:71:26" + "src": "5206:71:14" } ] }, @@ -7455,13 +6303,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7802:9:26", + "src": "5132:9:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7814:6:26", + "src": "5144:6:14", "type": "" } ], @@ -7469,21 +6317,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7825:4:26", + "src": "5155:4:14", "type": "" } ], - "src": "7732:222:26" + "src": "5062:222:14" }, { "body": { "nodeType": "YulBlock", - "src": "8060:519:26", + "src": "5356:263:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8106:83:26", + "src": "5402:83:14", "statements": [ { "expression": { @@ -7491,13 +6339,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "8108:77:26" + "src": "5404:77:14" }, "nodeType": "YulFunctionCall", - "src": "8108:79:26" + "src": "5404:79:14" }, "nodeType": "YulExpressionStatement", - "src": "8108:79:26" + "src": "5404:79:14" } ] }, @@ -7508,52 +6356,52 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8081:7:26" + "src": "5377:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8090:9:26" + "src": "5386:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8077:3:26" + "src": "5373:3:14" }, "nodeType": "YulFunctionCall", - "src": "8077:23:26" + "src": "5373:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8102:2:26", + "src": "5398:2:14", "type": "", - "value": "96" + "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "8073:3:26" + "src": "5369:3:14" }, "nodeType": "YulFunctionCall", - "src": "8073:32:26" + "src": "5369:32:14" }, "nodeType": "YulIf", - "src": "8070:119:26" + "src": "5366:119:14" }, { "nodeType": "YulBlock", - "src": "8199:117:26", + "src": "5495:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8214:15:26", + "src": "5510:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8228:1:26", + "src": "5524:1:14", "type": "", "value": "0" }, @@ -7561,14 +6409,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8218:6:26", + "src": "5514:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8243:63:26", + "src": "5539:63:14", "value": { "arguments": [ { @@ -7576,2466 +6424,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8278:9:26" + "src": "5574:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8289:6:26" + "src": "5585:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8274:3:26" + "src": "5570:3:14" }, "nodeType": "YulFunctionCall", - "src": "8274:22:26" + "src": "5570:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8298:7:26" + "src": "5594:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "8253:20:26" + "src": "5549:20:14" }, "nodeType": "YulFunctionCall", - "src": "8253:53:26" + "src": "5549:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8243:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "8326:118:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8341:16:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8355:2:26", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8345:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8371:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8406:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8417:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8402:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "8402:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8426:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "8381:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "8381:53:26" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8371:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "8454:118:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8469:16:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8483:2:26", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8473:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8499:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8534:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8545:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8530:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "8530:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8554:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_uint256", - "nodeType": "YulIdentifier", - "src": "8509:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "8509:53:26" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8499:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8014:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8025:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8037:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8045:6:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8053:6:26", - "type": "" - } - ], - "src": "7960:619:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8630:32:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8640:16:26", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8651:5:26" - }, - "variableNames": [ - { - "name": "cleaned", - "nodeType": "YulIdentifier", - "src": "8640:7:26" - } - ] - } - ] - }, - "name": "cleanup_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8612:5:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "cleaned", - "nodeType": "YulTypedName", - "src": "8622:7:26", - "type": "" - } - ], - "src": "8585:77:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8711:79:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8768:16:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8777:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8780:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8770:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "8770:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "8770:12:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8734:5:26" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8759:5:26" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "8741:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "8741:24:26" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "8731:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "8731:35:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8724:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "8724:43:26" - }, - "nodeType": "YulIf", - "src": "8721:63:26" - } - ] - }, - "name": "validator_revert_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8704:5:26", - "type": "" - } - ], - "src": "8668:122:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8848:87:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8858:29:26", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8880:6:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8867:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "8867:20:26" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8858:5:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8923:5:26" - } - ], - "functionName": { - "name": "validator_revert_t_bytes32", - "nodeType": "YulIdentifier", - "src": "8896:26:26" - }, - "nodeType": "YulFunctionCall", - "src": "8896:33:26" - }, - "nodeType": "YulExpressionStatement", - "src": "8896:33:26" - } - ] - }, - "name": "abi_decode_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8826:6:26", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8834:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8842:5:26", - "type": "" - } - ], - "src": "8796:139:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9007:263:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9053:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "9055:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "9055:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "9055:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9028:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9037:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9024:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9024:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9049:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9020:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9020:32:26" - }, - "nodeType": "YulIf", - "src": "9017:119:26" - }, - { - "nodeType": "YulBlock", - "src": "9146:117:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9161:15:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9175:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9165:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9190:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9225:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9236:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9221:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9221:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9245:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "9200:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "9200:53:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9190:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8977:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8988:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9000:6:26", - "type": "" - } - ], - "src": "8941:329:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9341:53:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9358:3:26" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9381:5:26" - } - ], - "functionName": { - "name": "cleanup_t_bytes32", - "nodeType": "YulIdentifier", - "src": "9363:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "9363:24:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9351:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "9351:37:26" - }, - "nodeType": "YulExpressionStatement", - "src": "9351:37:26" - } - ] - }, - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9329:5:26", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9336:3:26", - "type": "" - } - ], - "src": "9276:118:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9498:124:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9508:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9520:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9531:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9516:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9516:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9508:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9588:6:26" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9601:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9612:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9597:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9597:17:26" - } - ], - "functionName": { - "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", - "nodeType": "YulIdentifier", - "src": "9544:43:26" - }, - "nodeType": "YulFunctionCall", - "src": "9544:71:26" - }, - "nodeType": "YulExpressionStatement", - "src": "9544:71:26" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9470:9:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9482:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9493:4:26", - "type": "" - } - ], - "src": "9400:222:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9711:391:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9757:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "9759:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "9759:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "9759:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9732:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9741:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9728:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9728:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9753:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9724:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9724:32:26" - }, - "nodeType": "YulIf", - "src": "9721:119:26" - }, - { - "nodeType": "YulBlock", - "src": "9850:117:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9865:15:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9879:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9869:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9894:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9929:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9940:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9925:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "9925:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9949:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_bytes32", - "nodeType": "YulIdentifier", - "src": "9904:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "9904:53:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9894:6:26" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "9977:118:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "9992:16:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10006:2:26", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9996:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10022:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10057:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10068:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10053:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "10053:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10077:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "10032:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "10032:53:26" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10022:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9673:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9684:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9696:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9704:6:26", - "type": "" - } - ], - "src": "9628:474:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10197:28:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10214:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10217:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10207:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "10207:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10207:12:26" - } - ] - }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulFunctionDefinition", - "src": "10108:117:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10259:152:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10276:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10279:77:26", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10269:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "10269:88:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10269:88:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10373:1:26", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10376:4:26", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10366:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "10366:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10366:15:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10397:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10400:4:26", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10390:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "10390:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10390:15:26" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "10231:180:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10460:238:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10470:58:26", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10492:6:26" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10522:4:26" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "10500:21:26" - }, - "nodeType": "YulFunctionCall", - "src": "10500:27:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10488:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "10488:40:26" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "10474:10:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10639:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10641:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "10641:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10641:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10582:10:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10594:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10579:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "10579:34:26" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10618:10:26" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10630:6:26" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10615:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "10615:22:26" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "10576:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "10576:62:26" - }, - "nodeType": "YulIf", - "src": "10573:88:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10677:2:26", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10681:10:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10670:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "10670:22:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10670:22:26" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10446:6:26", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10454:4:26", - "type": "" - } - ], - "src": "10417:281:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10745:88:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10755:30:26", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "10765:18:26" - }, - "nodeType": "YulFunctionCall", - "src": "10765:20:26" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10755:6:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10814:6:26" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10822:4:26" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "10794:19:26" - }, - "nodeType": "YulFunctionCall", - "src": "10794:33:26" - }, - "nodeType": "YulExpressionStatement", - "src": "10794:33:26" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10729:4:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10738:6:26", - "type": "" - } - ], - "src": "10704:129:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10906:241:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11011:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "11013:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "11013:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11013:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10983:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10991:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10980:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "10980:30:26" - }, - "nodeType": "YulIf", - "src": "10977:56:26" - }, - { - "nodeType": "YulAssignment", - "src": "11043:37:26", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11073:6:26" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "11051:21:26" - }, - "nodeType": "YulFunctionCall", - "src": "11051:29:26" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11043:4:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11117:23:26", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11129:4:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11135:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11125:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11125:15:26" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "11117:4:26" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10890:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10901:4:26", - "type": "" - } - ], - "src": "10839:308:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11204:103:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11227:3:26" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11232:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11237:6:26" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "11214:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "11214:30:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11214:30:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11285:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11290:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11281:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11281:16:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11299:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11274:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "11274:27:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11274:27:26" - } - ] - }, - "name": "copy_calldata_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "11186:3:26", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "11191:3:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11196:6:26", - "type": "" - } - ], - "src": "11153:154:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11397:328:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11407:75:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11474:6:26" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "11432:41:26" - }, - "nodeType": "YulFunctionCall", - "src": "11432:49:26" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "11416:15:26" - }, - "nodeType": "YulFunctionCall", - "src": "11416:66:26" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11407:5:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11498:5:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11505:6:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11491:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "11491:21:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11491:21:26" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11521:27:26", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11536:5:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11543:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11532:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11532:16:26" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "11525:3:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11586:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "11588:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "11588:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11588:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11567:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11572:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11563:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11563:16:26" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11581:3:26" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "11560:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "11560:25:26" - }, - "nodeType": "YulIf", - "src": "11557:112:26" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11702:3:26" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11707:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11712:6:26" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "11678:23:26" - }, - "nodeType": "YulFunctionCall", - "src": "11678:41:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11678:41:26" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "11370:3:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11375:6:26", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11383:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11391:5:26", - "type": "" - } - ], - "src": "11313:412:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11807:278:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11856:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "11858:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "11858:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "11858:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11835:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11843:4:26", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11831:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11831:17:26" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11850:3:26" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11827:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "11827:27:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11820:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "11820:35:26" - }, - "nodeType": "YulIf", - "src": "11817:122:26" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11948:34:26", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11975:6:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11962:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "11962:20:26" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11952:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11991:88:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12052:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12060:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12048:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12048:17:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12067:6:26" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "12075:3:26" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "12000:47:26" - }, - "nodeType": "YulFunctionCall", - "src": "12000:79:26" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11991:5:26" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "11785:6:26", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11793:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11801:5:26", - "type": "" - } - ], - "src": "11745:340:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12167:433:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12213:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "12215:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "12215:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "12215:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12188:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12197:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12184:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12184:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12209:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "12180:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12180:32:26" - }, - "nodeType": "YulIf", - "src": "12177:119:26" - }, - { - "nodeType": "YulBlock", - "src": "12306:287:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12321:45:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12352:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12363:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12348:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12348:17:26" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12335:12:26" - }, - "nodeType": "YulFunctionCall", - "src": "12335:31:26" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "12325:6:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12413:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "12415:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "12415:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "12415:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12385:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12393:18:26", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12382:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "12382:30:26" - }, - "nodeType": "YulIf", - "src": "12379:117:26" - }, - { - "nodeType": "YulAssignment", - "src": "12510:73:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12555:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12566:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12551:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12551:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12575:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "12520:30:26" - }, - "nodeType": "YulFunctionCall", - "src": "12520:63:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12510:6:26" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12137:9:26", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "12148:7:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12160:6:26", - "type": "" - } - ], - "src": "12091:509:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12672:263:26", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12718:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "12720:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "12720:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "12720:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12693:7:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12702:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12689:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12689:23:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12714:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "12685:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12685:32:26" - }, - "nodeType": "YulIf", - "src": "12682:119:26" - }, - { - "nodeType": "YulBlock", - "src": "12811:117:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12826:15:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12840:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "12830:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12855:63:26", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12890:9:26" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12901:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12886:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "12886:22:26" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12910:7:26" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "12865:20:26" - }, - "nodeType": "YulFunctionCall", - "src": "12865:53:26" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12855:6:26" + "src": "5539:6:14" } ] } @@ -10049,13 +6472,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12642:9:26", + "src": "5326:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "12653:7:26", + "src": "5337:7:14", "type": "" } ], @@ -10063,21 +6486,391 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "12665:6:26", + "src": "5349:6:14", "type": "" } ], - "src": "12606:329:26" + "src": "5290:329:14" }, { "body": { "nodeType": "YulBlock", - "src": "12981:76:26", + "src": "5725:519:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13035:16:26", + "src": "5771:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "5773:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "5773:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5773:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5746:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5755:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5742:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5742:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5767:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5738:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5738:32:14" + }, + "nodeType": "YulIf", + "src": "5735:119:14" + }, + { + "nodeType": "YulBlock", + "src": "5864:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5879:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5893:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5883:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5908:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5943:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5954:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5939:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5939:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5963:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5918:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "5918:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5908:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5991:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6006:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6020:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6010:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6036:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6071:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6082:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6067:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6067:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6091:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "6046:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "6046:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6036:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "6119:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6134:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6148:2:14", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6138:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6164:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6199:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6210:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6195:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6195:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6219:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "6174:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "6174:53:14" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "6164:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5679:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5690:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5702:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5710:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5718:6:14", + "type": "" + } + ], + "src": "5625:619:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6295:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6305:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6316:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6305:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6277:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6287:7:14", + "type": "" + } + ], + "src": "6250:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6376:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6433:16:14", "statements": [ { "expression": { @@ -10085,14 +6878,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13044:1:26", + "src": "6442:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13047:1:26", + "src": "6445:1:14", "type": "", "value": "0" } @@ -10100,13 +6893,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "13037:6:26" + "src": "6435:6:14" }, "nodeType": "YulFunctionCall", - "src": "13037:12:26" + "src": "6435:12:14" }, "nodeType": "YulExpressionStatement", - "src": "13037:12:26" + "src": "6435:12:14" } ] }, @@ -10117,88 +6910,88 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "13004:5:26" + "src": "6399:5:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13026:5:26" + "src": "6424:5:14" } ], "functionName": { - "name": "cleanup_t_bool", + "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "13011:14:26" + "src": "6406:17:14" }, "nodeType": "YulFunctionCall", - "src": "13011:21:26" + "src": "6406:24:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "13001:2:26" + "src": "6396:2:14" }, "nodeType": "YulFunctionCall", - "src": "13001:32:26" + "src": "6396:35:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "12994:6:26" + "src": "6389:6:14" }, "nodeType": "YulFunctionCall", - "src": "12994:40:26" + "src": "6389:43:14" }, "nodeType": "YulIf", - "src": "12991:60:26" + "src": "6386:63:14" } ] }, - "name": "validator_revert_t_bool", + "name": "validator_revert_t_bytes32", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "12974:5:26", + "src": "6369:5:14", "type": "" } ], - "src": "12941:116:26" + "src": "6333:122:14" }, { "body": { "nodeType": "YulBlock", - "src": "13112:84:26", + "src": "6513:87:14", "statements": [ { "nodeType": "YulAssignment", - "src": "13122:29:26", + "src": "6523:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13144:6:26" + "src": "6545:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "13131:12:26" + "src": "6532:12:14" }, "nodeType": "YulFunctionCall", - "src": "13131:20:26" + "src": "6532:20:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13122:5:26" + "src": "6523:5:14" } ] }, @@ -10208,35 +7001,35 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "13184:5:26" + "src": "6588:5:14" } ], "functionName": { - "name": "validator_revert_t_bool", + "name": "validator_revert_t_bytes32", "nodeType": "YulIdentifier", - "src": "13160:23:26" + "src": "6561:26:14" }, "nodeType": "YulFunctionCall", - "src": "13160:30:26" + "src": "6561:33:14" }, "nodeType": "YulExpressionStatement", - "src": "13160:30:26" + "src": "6561:33:14" } ] }, - "name": "abi_decode_t_bool", + "name": "abi_decode_t_bytes32", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "13090:6:26", + "src": "6491:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "13098:3:26", + "src": "6499:3:14", "type": "" } ], @@ -10244,21 +7037,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "13106:5:26", + "src": "6507:5:14", "type": "" } ], - "src": "13063:133:26" + "src": "6461:139:14" }, { "body": { "nodeType": "YulBlock", - "src": "13282:388:26", + "src": "6672:263:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13328:83:26", + "src": "6718:83:14", "statements": [ { "expression": { @@ -10266,13 +7059,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "13330:77:26" + "src": "6720:77:14" }, "nodeType": "YulFunctionCall", - "src": "13330:79:26" + "src": "6720:79:14" }, "nodeType": "YulExpressionStatement", - "src": "13330:79:26" + "src": "6720:79:14" } ] }, @@ -10283,52 +7076,52 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13303:7:26" + "src": "6693:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13312:9:26" + "src": "6702:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13299:3:26" + "src": "6689:3:14" }, "nodeType": "YulFunctionCall", - "src": "13299:23:26" + "src": "6689:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13324:2:26", + "src": "6714:2:14", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "13295:3:26" + "src": "6685:3:14" }, "nodeType": "YulFunctionCall", - "src": "13295:32:26" + "src": "6685:32:14" }, "nodeType": "YulIf", - "src": "13292:119:26" + "src": "6682:119:14" }, { "nodeType": "YulBlock", - "src": "13421:117:26", + "src": "6811:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13436:15:26", + "src": "6826:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "13450:1:26", + "src": "6840:1:14", "type": "", "value": "0" }, @@ -10336,14 +7129,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13440:6:26", + "src": "6830:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "13465:63:26", + "src": "6855:63:14", "value": { "arguments": [ { @@ -10351,41 +7144,381 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13500:9:26" + "src": "6890:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13511:6:26" + "src": "6901:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13496:3:26" + "src": "6886:3:14" }, "nodeType": "YulFunctionCall", - "src": "13496:22:26" + "src": "6886:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13520:7:26" + "src": "6910:7:14" } ], "functionName": { - "name": "abi_decode_t_address", + "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "13475:20:26" + "src": "6865:20:14" }, "nodeType": "YulFunctionCall", - "src": "13475:53:26" + "src": "6865:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "13465:6:26" + "src": "6855:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6642:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6653:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6665:6:14", + "type": "" + } + ], + "src": "6606:329:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7006:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7023:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7046:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7028:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "7028:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7016:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7016:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7016:37:14" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6994:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7001:3:14", + "type": "" + } + ], + "src": "6941:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7163:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7173:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7185:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7196:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7181:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7181:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7173:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7253:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7266:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7277:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7262:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7262:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "7209:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "7209:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7209:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7135:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7147:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7158:4:14", + "type": "" + } + ], + "src": "7065:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7376:391:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7422:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "7424:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "7424:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7424:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7397:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7406:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7393:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7393:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7418:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7389:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7389:32:14" + }, + "nodeType": "YulIf", + "src": "7386:119:14" + }, + { + "nodeType": "YulBlock", + "src": "7515:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7530:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7544:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7534:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7559:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7594:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7605:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7590:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7590:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7614:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "7569:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "7569:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7559:6:14" } ] } @@ -10393,15 +7526,15 @@ }, { "nodeType": "YulBlock", - "src": "13548:115:26", + "src": "7642:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13563:16:26", + "src": "7657:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "13577:2:26", + "src": "7671:2:14", "type": "", "value": "32" }, @@ -10409,14 +7542,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13567:6:26", + "src": "7661:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "13593:60:26", + "src": "7687:63:14", "value": { "arguments": [ { @@ -10424,41 +7557,3511 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13625:9:26" + "src": "7722:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13636:6:26" + "src": "7733:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13621:3:26" + "src": "7718:3:14" }, "nodeType": "YulFunctionCall", - "src": "13621:22:26" + "src": "7718:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13645:7:26" + "src": "7742:7:14" } ], "functionName": { - "name": "abi_decode_t_bool", + "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "13603:17:26" + "src": "7697:20:14" }, "nodeType": "YulFunctionCall", - "src": "13603:50:26" + "src": "7697:53:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "13593:6:26" + "src": "7687:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7338:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7349:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7361:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7369:6:14", + "type": "" + } + ], + "src": "7293:474:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7862:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7879:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7882:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7872:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7872:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7872:12:14" + } + ] + }, + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulFunctionDefinition", + "src": "7773:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7924:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7941:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7944:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7934:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7934:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7934:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8038:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8041:4:14", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8031:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "8031:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8031:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8062:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8065:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8055:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "8055:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8055:15:14" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "7896:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8125:238:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8135:58:14", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8157:6:14" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8187:4:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "8165:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "8165:27:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8153:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8153:40:14" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "8139:10:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8304:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "8306:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "8306:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8306:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8247:10:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8259:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8244:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "8244:34:14" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8283:10:14" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8295:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "8280:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "8280:22:14" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "8241:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "8241:62:14" + }, + "nodeType": "YulIf", + "src": "8238:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8342:2:14", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "8346:10:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8335:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "8335:22:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8335:22:14" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8111:6:14", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8119:4:14", + "type": "" + } + ], + "src": "8082:281:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8410:88:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8420:30:14", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "8430:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "8430:20:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8420:6:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "8479:6:14" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8487:4:14" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "8459:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "8459:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8459:33:14" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8394:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "8403:6:14", + "type": "" + } + ], + "src": "8369:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8586:229:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8691:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "8693:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "8693:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8693:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8663:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8671:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8660:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "8660:30:14" + }, + "nodeType": "YulIf", + "src": "8657:56:14" + }, + { + "nodeType": "YulAssignment", + "src": "8723:25:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8735:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8743:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "8731:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8731:17:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8723:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8785:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8797:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8803:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8793:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8793:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "8785:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8570:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "8581:4:14", + "type": "" + } + ], + "src": "8504:311:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8910:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8927:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8930:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8920:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "8920:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8920:12:14" + } + ] + }, + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulFunctionDefinition", + "src": "8821:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9063:608:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9073:90:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9155:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9098:56:14" + }, + "nodeType": "YulFunctionCall", + "src": "9098:64:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "9082:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "9082:81:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9073:5:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9172:16:14", + "value": { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9183:5:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "9176:3:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9205:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9212:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9198:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "9198:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9198:21:14" + }, + { + "nodeType": "YulAssignment", + "src": "9228:23:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9239:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9246:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9235:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9235:16:14" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9228:3:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9261:44:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9279:6:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9291:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9299:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "9287:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9287:17:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9275:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9275:30:14" + }, + "variables": [ + { + "name": "srcEnd", + "nodeType": "YulTypedName", + "src": "9265:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9333:103:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "9347:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "9347:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9347:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "9320:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9328:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9317:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "9317:15:14" + }, + "nodeType": "YulIf", + "src": "9314:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9521:144:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9536:21:14", + "value": { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9554:3:14" + }, + "variables": [ + { + "name": "elementPos", + "nodeType": "YulTypedName", + "src": "9540:10:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9578:3:14" + }, + { + "arguments": [ + { + "name": "elementPos", + "nodeType": "YulIdentifier", + "src": "9604:10:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9616:3:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "9583:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "9583:37:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9571:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "9571:50:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9571:50:14" + }, + { + "nodeType": "YulAssignment", + "src": "9634:21:14", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9645:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9650:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9641:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9641:14:14" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "9634:3:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9474:3:14" + }, + { + "name": "srcEnd", + "nodeType": "YulIdentifier", + "src": "9479:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "9471:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "9471:15:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "9487:25:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9489:21:14", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9500:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9505:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9496:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9496:14:14" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "9489:3:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "9449:21:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9451:17:14", + "value": { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9462:6:14" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "9455:3:14", + "type": "" + } + ] + } + ] + }, + "src": "9445:220:14" + } + ] + }, + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9033:6:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9041:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9049:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "9057:5:14", + "type": "" + } + ], + "src": "8961:710:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9771:293:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9820:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "9822:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "9822:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9822:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9799:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9807:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9795:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9795:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9814:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9791:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9791:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9784:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "9784:35:14" + }, + "nodeType": "YulIf", + "src": "9781:122:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9912:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9939:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9926:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "9926:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9916:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9955:103:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10031:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10039:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10027:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10027:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10046:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10054:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9964:62:14" + }, + "nodeType": "YulFunctionCall", + "src": "9964:94:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "9955:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9749:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9757:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "9765:5:14", + "type": "" + } + ], + "src": "9694:370:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10178:576:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10224:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "10226:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "10226:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10226:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10199:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10208:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10195:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10195:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10220:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10191:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10191:32:14" + }, + "nodeType": "YulIf", + "src": "10188:119:14" + }, + { + "nodeType": "YulBlock", + "src": "10317:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10332:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10346:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10336:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10361:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10396:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10407:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10392:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10392:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10416:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "10371:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "10371:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10361:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10444:303:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10459:46:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10490:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10501:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10486:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10486:18:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10473:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "10473:32:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "10463:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10552:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "10554:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "10554:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10554:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10524:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10532:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10521:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "10521:30:14" + }, + "nodeType": "YulIf", + "src": "10518:117:14" + }, + { + "nodeType": "YulAssignment", + "src": "10649:88:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10709:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "10720:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10705:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10705:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10729:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10659:45:14" + }, + "nodeType": "YulFunctionCall", + "src": "10659:78:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10649:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10140:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10151:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10163:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10171:6:14", + "type": "" + } + ], + "src": "10070:684:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10834:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10845:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10861:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10855:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10855:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10845:6:14" + } + ] + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10817:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10827:6:14", + "type": "" + } + ], + "src": "10760:114:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10991:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11008:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11013:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11001:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "11001:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11001:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "11029:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11048:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11053:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11044:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11044:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "11029:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10963:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10968:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "10979:11:14", + "type": "" + } + ], + "src": "10880:184:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11142:60:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11152:11:14", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "11160:3:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "11152:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11173:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "11185:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11190:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11181:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11181:14:14" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "11173:4:14" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "11129:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "11137:4:14", + "type": "" + } + ], + "src": "11070:132:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11263:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11280:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11303:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "11285:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "11285:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11273:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "11273:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11273:37:14" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11251:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11258:3:14", + "type": "" + } + ], + "src": "11208:108:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11402:99:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11446:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11454:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "11412:33:14" + }, + "nodeType": "YulFunctionCall", + "src": "11412:46:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11412:46:14" + }, + { + "nodeType": "YulAssignment", + "src": "11467:28:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11485:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11490:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11481:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11481:14:14" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "11467:10:14" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11375:6:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11383:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "11391:10:14", + "type": "" + } + ], + "src": "11322:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11582:38:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11592:22:14", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "11604:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11609:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11600:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11600:14:14" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "11592:4:14" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "11569:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "11577:4:14", + "type": "" + } + ], + "src": "11507:113:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11780:608:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11790:68:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11852:5:14" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11804:47:14" + }, + "nodeType": "YulFunctionCall", + "src": "11804:54:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "11794:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11867:93:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11948:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "11953:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11874:73:14" + }, + "nodeType": "YulFunctionCall", + "src": "11874:86:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11867:3:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11969:71:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12034:5:14" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "11984:49:14" + }, + "nodeType": "YulFunctionCall", + "src": "11984:56:14" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "11973:7:14", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12049:21:14", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "12063:7:14" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "12053:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12139:224:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12153:34:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12180:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12174:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "12174:13:14" + }, + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "12157:13:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12200:70:14", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "12251:13:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12266:3:14" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "12207:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "12207:63:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12200:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12283:70:14", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12346:6:14" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "12293:52:14" + }, + "nodeType": "YulFunctionCall", + "src": "12293:60:14" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "12283:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12101:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12104:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12098:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12098:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "12112:18:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12114:14:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12123:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12126:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12119:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12119:9:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "12114:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "12083:14:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12085:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12094:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "12089:1:14", + "type": "" + } + ] + } + ] + }, + "src": "12079:284:14" + }, + { + "nodeType": "YulAssignment", + "src": "12372:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12379:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12372:3:14" + } + ] + } + ] + }, + "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": "11759:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11766:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11775:3:14", + "type": "" + } + ], + "src": "11656:732:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12542:225:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12552:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12564:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12575:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12560:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12560:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12552:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12599:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12610:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12595:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12595:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12618:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12624:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12614:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12614:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12588:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12588:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12588:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "12644:116:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12746:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12755:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12652:93:14" + }, + "nodeType": "YulFunctionCall", + "src": "12652:108:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12644:4:14" + } + ] + } + ] + }, + "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": "12514:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12526:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12537:4:14", + "type": "" + } + ], + "src": "12394:373:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12862:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12879:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12882:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12872:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12872:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12872:12:14" + } + ] + }, + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulFunctionDefinition", + "src": "12773:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12985:478:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13034:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "13036:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13036:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13036:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13013:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13021:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13009:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13009:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13028:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13005:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13005:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12998:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12998:35:14" + }, + "nodeType": "YulIf", + "src": "12995:122:14" + }, + { + "nodeType": "YulAssignment", + "src": "13126:30:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13149:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13136:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "13136:20:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13126:6:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13199:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", + "nodeType": "YulIdentifier", + "src": "13201:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13201:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13201:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13171:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13179:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13168:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13168:30:14" + }, + "nodeType": "YulIf", + "src": "13165:117:14" + }, + { + "nodeType": "YulAssignment", + "src": "13291:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13307:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13315:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13303:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13303:17:14" + }, + "variableNames": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "13291:8:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13374:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", + "nodeType": "YulIdentifier", + "src": "13376:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13376:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13376:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "arrayPos", + "nodeType": "YulIdentifier", + "src": "13339:8:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13353:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13361:4:14", + "type": "", + "value": "0x01" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "13349:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13349:17:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13335:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13335:32:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13369:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13332:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13332:41:14" + }, + "nodeType": "YulIf", + "src": "13329:128:14" + } + ] + }, + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12952:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12960:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "arrayPos", + "nodeType": "YulTypedName", + "src": "12968:8:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12978:6:14", + "type": "" + } + ], + "src": "12910:553:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13555:443:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13601:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "13603:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13603:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13603:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13576:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13585:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13572:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13572:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13597:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13568:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13568:32:14" + }, + "nodeType": "YulIf", + "src": "13565:119:14" + }, + { + "nodeType": "YulBlock", + "src": "13694:297:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13709:45:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13740:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13751:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13736:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13736:17:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13723:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "13723:31:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13713:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13801:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "13803:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13803:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13803:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13773:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13781:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13770:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13770:30:14" + }, + "nodeType": "YulIf", + "src": "13767:117:14" + }, + { + "nodeType": "YulAssignment", + "src": "13898:83:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13953:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13964:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13949:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13949:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13973:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_string_calldata_ptr", + "nodeType": "YulIdentifier", + "src": "13916:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "13916:65:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13898:6:14" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13906:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_calldata_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13517:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13528:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13540:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13548:6:14", + "type": "" + } + ], + "src": "13469:529:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14044:76:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14098:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14107:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14110:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14100:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14100:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14100:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14067:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14089:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "14074:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "14074:21:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "14064:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "14064:32:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "14057:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14057:40:14" + }, + "nodeType": "YulIf", + "src": "14054:60:14" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14037:5:14", + "type": "" + } + ], + "src": "14004:116:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14175:84:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14185:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14207:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14194:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "14194:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14185:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14247:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "14223:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "14223:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14223:30:14" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14153:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14161:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14169:5:14", + "type": "" + } + ], + "src": "14126:133:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14345:388:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14391:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "14393:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "14393:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14393:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14366:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14375:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14362:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14362:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14387:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14358:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14358:32:14" + }, + "nodeType": "YulIf", + "src": "14355:119:14" + }, + { + "nodeType": "YulBlock", + "src": "14484:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14499:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14513:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14503:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14528:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14563:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14574:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14559:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14559:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14583:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "14538:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "14538:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14528:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "14611:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "14626:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14640:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14630:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14656:60:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14688:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14699:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14684:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14684:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14708:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "14666:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "14666:50:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14656:6:14" } ] } @@ -10472,13 +11075,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13244:9:26", + "src": "14307:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "13255:7:26", + "src": "14318:7:14", "type": "" } ], @@ -10486,27 +11089,67 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "13267:6:26", + "src": "14330:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "13275:6:26", + "src": "14338:6:14", "type": "" } ], - "src": "13202:468:26" + "src": "14265:468:14" }, { "body": { "nodeType": "YulBlock", - "src": "13742:241:26", + "src": "14828:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14845:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14848:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14838:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14838:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14838:12:14" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "14739:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14928:241:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13847:22:26", + "src": "15033:22:14", "statements": [ { "expression": { @@ -10514,13 +11157,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "13849:16:26" + "src": "15035:16:14" }, "nodeType": "YulFunctionCall", - "src": "13849:18:26" + "src": "15035:18:14" }, "nodeType": "YulExpressionStatement", - "src": "13849:18:26" + "src": "15035:18:14" } ] }, @@ -10529,12 +11172,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "13819:6:26" + "src": "15005:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13827:18:26", + "src": "15013:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -10542,55 +11185,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "13816:2:26" + "src": "15002:2:14" }, "nodeType": "YulFunctionCall", - "src": "13816:30:26" + "src": "15002:30:14" }, "nodeType": "YulIf", - "src": "13813:56:26" + "src": "14999:56:14" }, { "nodeType": "YulAssignment", - "src": "13879:37:26", + "src": "15065:37:14", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13909:6:26" + "src": "15095:6:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "13887:21:26" + "src": "15073:21:14" }, "nodeType": "YulFunctionCall", - "src": "13887:29:26" + "src": "15073:29:14" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "13879:4:26" + "src": "15065:4:14" } ] }, { "nodeType": "YulAssignment", - "src": "13953:23:26", + "src": "15139:23:14", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "13965:4:26" + "src": "15151:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13971:4:26", + "src": "15157:4:14", "type": "", "value": "0x20" } @@ -10598,16 +11241,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13961:3:26" + "src": "15147:3:14" }, "nodeType": "YulFunctionCall", - "src": "13961:15:26" + "src": "15147:15:14" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "13953:4:26" + "src": "15139:4:14" } ] } @@ -10619,7 +11262,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "13726:6:26", + "src": "14912:6:14", "type": "" } ], @@ -10627,20 +11270,124 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "13737:4:26", + "src": "14923:4:14", "type": "" } ], - "src": "13676:307:26" + "src": "14862:307:14" }, { "body": { "nodeType": "YulBlock", - "src": "14072:327:26", + "src": "15226:103:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "15249:3:14" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "15254:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15259:6:14" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "15236:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "15236:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15236:30:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "15307:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "15312:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15303:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15303:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15321:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15296:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "15296:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15296:27:14" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "15208:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "15213:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "15218:6:14", + "type": "" + } + ], + "src": "15175:154:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15418:327:14", "statements": [ { "nodeType": "YulAssignment", - "src": "14082:74:26", + "src": "15428:74:14", "value": { "arguments": [ { @@ -10648,31 +11395,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "14148:6:26" + "src": "15494:6:14" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "14107:40:26" + "src": "15453:40:14" }, "nodeType": "YulFunctionCall", - "src": "14107:48:26" + "src": "15453:48:14" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "14091:15:26" + "src": "15437:15:14" }, "nodeType": "YulFunctionCall", - "src": "14091:65:26" + "src": "15437:65:14" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "14082:5:26" + "src": "15428:5:14" } ] }, @@ -10682,39 +11429,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "14172:5:26" + "src": "15518:5:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14179:6:26" + "src": "15525:6:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14165:6:26" + "src": "15511:6:14" }, "nodeType": "YulFunctionCall", - "src": "14165:21:26" + "src": "15511:21:14" }, "nodeType": "YulExpressionStatement", - "src": "14165:21:26" + "src": "15511:21:14" }, { "nodeType": "YulVariableDeclaration", - "src": "14195:27:26", + "src": "15541:27:14", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "14210:5:26" + "src": "15556:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14217:4:26", + "src": "15563:4:14", "type": "", "value": "0x20" } @@ -10722,16 +11469,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14206:3:26" + "src": "15552:3:14" }, "nodeType": "YulFunctionCall", - "src": "14206:16:26" + "src": "15552:16:14" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "14199:3:26", + "src": "15545:3:14", "type": "" } ] @@ -10739,7 +11486,7 @@ { "body": { "nodeType": "YulBlock", - "src": "14260:83:26", + "src": "15606:83:14", "statements": [ { "expression": { @@ -10747,13 +11494,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "14262:77:26" + "src": "15608:77:14" }, "nodeType": "YulFunctionCall", - "src": "14262:79:26" + "src": "15608:79:14" }, "nodeType": "YulExpressionStatement", - "src": "14262:79:26" + "src": "15608:79:14" } ] }, @@ -10764,38 +11511,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "14241:3:26" + "src": "15587:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14246:6:26" + "src": "15592:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14237:3:26" + "src": "15583:3:14" }, "nodeType": "YulFunctionCall", - "src": "14237:16:26" + "src": "15583:16:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "14255:3:26" + "src": "15601:3:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "14234:2:26" + "src": "15580:2:14" }, "nodeType": "YulFunctionCall", - "src": "14234:25:26" + "src": "15580:25:14" }, "nodeType": "YulIf", - "src": "14231:112:26" + "src": "15577:112:14" }, { "expression": { @@ -10803,29 +11550,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "14376:3:26" + "src": "15722:3:14" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "14381:3:26" + "src": "15727:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14386:6:26" + "src": "15732:6:14" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "14352:23:26" + "src": "15698:23:14" }, "nodeType": "YulFunctionCall", - "src": "14352:41:26" + "src": "15698:41:14" }, "nodeType": "YulExpressionStatement", - "src": "14352:41:26" + "src": "15698:41:14" } ] }, @@ -10835,19 +11582,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "14045:3:26", + "src": "15391:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "14050:6:26", + "src": "15396:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "14058:3:26", + "src": "15404:3:14", "type": "" } ], @@ -10855,21 +11602,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "14066:5:26", + "src": "15412:5:14", "type": "" } ], - "src": "13989:410:26" + "src": "15335:410:14" }, { "body": { "nodeType": "YulBlock", - "src": "14479:277:26", + "src": "15825:277:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "14528:83:26", + "src": "15874:83:14", "statements": [ { "expression": { @@ -10877,13 +11624,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "14530:77:26" + "src": "15876:77:14" }, "nodeType": "YulFunctionCall", - "src": "14530:79:26" + "src": "15876:79:14" }, "nodeType": "YulExpressionStatement", - "src": "14530:79:26" + "src": "15876:79:14" } ] }, @@ -10896,12 +11643,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "14507:6:26" + "src": "15853:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14515:4:26", + "src": "15861:4:14", "type": "", "value": "0x1f" } @@ -10909,68 +11656,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14503:3:26" + "src": "15849:3:14" }, "nodeType": "YulFunctionCall", - "src": "14503:17:26" + "src": "15849:17:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "14522:3:26" + "src": "15868:3:14" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "14499:3:26" + "src": "15845:3:14" }, "nodeType": "YulFunctionCall", - "src": "14499:27:26" + "src": "15845:27:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "14492:6:26" + "src": "15838:6:14" }, "nodeType": "YulFunctionCall", - "src": "14492:35:26" + "src": "15838:35:14" }, "nodeType": "YulIf", - "src": "14489:122:26" + "src": "15835:122:14" }, { "nodeType": "YulVariableDeclaration", - "src": "14620:34:26", + "src": "15966:34:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "14647:6:26" + "src": "15993:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "14634:12:26" + "src": "15980:12:14" }, "nodeType": "YulFunctionCall", - "src": "14634:20:26" + "src": "15980:20:14" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "14624:6:26", + "src": "15970:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "14663:87:26", + "src": "16009:87:14", "value": { "arguments": [ { @@ -10978,12 +11725,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "14723:6:26" + "src": "16069:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14731:4:26", + "src": "16077:4:14", "type": "", "value": "0x20" } @@ -10991,35 +11738,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14719:3:26" + "src": "16065:3:14" }, "nodeType": "YulFunctionCall", - "src": "14719:17:26" + "src": "16065:17:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "14738:6:26" + "src": "16084:6:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "14746:3:26" + "src": "16092:3:14" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "14672:46:26" + "src": "16018:46:14" }, "nodeType": "YulFunctionCall", - "src": "14672:78:26" + "src": "16018:78:14" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "14663:5:26" + "src": "16009:5:14" } ] } @@ -11031,13 +11778,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "14457:6:26", + "src": "15803:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "14465:3:26", + "src": "15811:3:14", "type": "" } ], @@ -11045,21 +11792,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "14473:5:26", + "src": "15819:5:14", "type": "" } ], - "src": "14418:338:26" + "src": "15764:338:14" }, { "body": { "nodeType": "YulBlock", - "src": "14888:817:26", + "src": "16234:817:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "14935:83:26", + "src": "16281:83:14", "statements": [ { "expression": { @@ -11067,13 +11814,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "14937:77:26" + "src": "16283:77:14" }, "nodeType": "YulFunctionCall", - "src": "14937:79:26" + "src": "16283:79:14" }, "nodeType": "YulExpressionStatement", - "src": "14937:79:26" + "src": "16283:79:14" } ] }, @@ -11084,26 +11831,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14909:7:26" + "src": "16255:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14918:9:26" + "src": "16264:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14905:3:26" + "src": "16251:3:14" }, "nodeType": "YulFunctionCall", - "src": "14905:23:26" + "src": "16251:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14930:3:26", + "src": "16276:3:14", "type": "", "value": "128" } @@ -11111,25 +11858,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "14901:3:26" + "src": "16247:3:14" }, "nodeType": "YulFunctionCall", - "src": "14901:33:26" + "src": "16247:33:14" }, "nodeType": "YulIf", - "src": "14898:120:26" + "src": "16244:120:14" }, { "nodeType": "YulBlock", - "src": "15028:117:26", + "src": "16374:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15043:15:26", + "src": "16389:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15057:1:26", + "src": "16403:1:14", "type": "", "value": "0" }, @@ -11137,14 +11884,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15047:6:26", + "src": "16393:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15072:63:26", + "src": "16418:63:14", "value": { "arguments": [ { @@ -11152,41 +11899,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15107:9:26" + "src": "16453:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "15118:6:26" + "src": "16464:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15103:3:26" + "src": "16449:3:14" }, "nodeType": "YulFunctionCall", - "src": "15103:22:26" + "src": "16449:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15127:7:26" + "src": "16473:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "15082:20:26" + "src": "16428:20:14" }, "nodeType": "YulFunctionCall", - "src": "15082:53:26" + "src": "16428:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "15072:6:26" + "src": "16418:6:14" } ] } @@ -11194,15 +11941,15 @@ }, { "nodeType": "YulBlock", - "src": "15155:118:26", + "src": "16501:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15170:16:26", + "src": "16516:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15184:2:26", + "src": "16530:2:14", "type": "", "value": "32" }, @@ -11210,14 +11957,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15174:6:26", + "src": "16520:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15200:63:26", + "src": "16546:63:14", "value": { "arguments": [ { @@ -11225,41 +11972,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15235:9:26" + "src": "16581:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "15246:6:26" + "src": "16592:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15231:3:26" + "src": "16577:3:14" }, "nodeType": "YulFunctionCall", - "src": "15231:22:26" + "src": "16577:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15255:7:26" + "src": "16601:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "15210:20:26" + "src": "16556:20:14" }, "nodeType": "YulFunctionCall", - "src": "15210:53:26" + "src": "16556:53:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "15200:6:26" + "src": "16546:6:14" } ] } @@ -11267,15 +12014,15 @@ }, { "nodeType": "YulBlock", - "src": "15283:118:26", + "src": "16629:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15298:16:26", + "src": "16644:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15312:2:26", + "src": "16658:2:14", "type": "", "value": "64" }, @@ -11283,14 +12030,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15302:6:26", + "src": "16648:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15328:63:26", + "src": "16674:63:14", "value": { "arguments": [ { @@ -11298,41 +12045,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15363:9:26" + "src": "16709:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "15374:6:26" + "src": "16720:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15359:3:26" + "src": "16705:3:14" }, "nodeType": "YulFunctionCall", - "src": "15359:22:26" + "src": "16705:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15383:7:26" + "src": "16729:7:14" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "15338:20:26" + "src": "16684:20:14" }, "nodeType": "YulFunctionCall", - "src": "15338:53:26" + "src": "16684:53:14" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "15328:6:26" + "src": "16674:6:14" } ] } @@ -11340,11 +12087,11 @@ }, { "nodeType": "YulBlock", - "src": "15411:287:26", + "src": "16757:287:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15426:46:26", + "src": "16772:46:14", "value": { "arguments": [ { @@ -11352,12 +12099,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15457:9:26" + "src": "16803:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15468:2:26", + "src": "16814:2:14", "type": "", "value": "96" } @@ -11365,25 +12112,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15453:3:26" + "src": "16799:3:14" }, "nodeType": "YulFunctionCall", - "src": "15453:18:26" + "src": "16799:18:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "15440:12:26" + "src": "16786:12:14" }, "nodeType": "YulFunctionCall", - "src": "15440:32:26" + "src": "16786:32:14" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "15430:6:26", + "src": "16776:6:14", "type": "" } ] @@ -11391,7 +12138,7 @@ { "body": { "nodeType": "YulBlock", - "src": "15519:83:26", + "src": "16865:83:14", "statements": [ { "expression": { @@ -11399,13 +12146,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "15521:77:26" + "src": "16867:77:14" }, "nodeType": "YulFunctionCall", - "src": "15521:79:26" + "src": "16867:79:14" }, "nodeType": "YulExpressionStatement", - "src": "15521:79:26" + "src": "16867:79:14" } ] }, @@ -11414,12 +12161,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15491:6:26" + "src": "16837:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15499:18:26", + "src": "16845:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -11427,17 +12174,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "15488:2:26" + "src": "16834:2:14" }, "nodeType": "YulFunctionCall", - "src": "15488:30:26" + "src": "16834:30:14" }, "nodeType": "YulIf", - "src": "15485:117:26" + "src": "16831:117:14" }, { "nodeType": "YulAssignment", - "src": "15616:72:26", + "src": "16962:72:14", "value": { "arguments": [ { @@ -11445,41 +12192,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15660:9:26" + "src": "17006:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "15671:6:26" + "src": "17017:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15656:3:26" + "src": "17002:3:14" }, "nodeType": "YulFunctionCall", - "src": "15656:22:26" + "src": "17002:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15680:7:26" + "src": "17026:7:14" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "15626:29:26" + "src": "16972:29:14" }, "nodeType": "YulFunctionCall", - "src": "15626:62:26" + "src": "16972:62:14" }, "variableNames": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "15616:6:26" + "src": "16962:6:14" } ] } @@ -11493,13 +12240,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "14834:9:26", + "src": "16180:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "14845:7:26", + "src": "16191:7:14", "type": "" } ], @@ -11507,39 +12254,39 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "14857:6:26", + "src": "16203:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "14865:6:26", + "src": "16211:6:14", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "14873:6:26", + "src": "16219:6:14", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "14881:6:26", + "src": "16227:6:14", "type": "" } ], - "src": "14762:943:26" + "src": "16108:943:14" }, { "body": { "nodeType": "YulBlock", - "src": "15794:391:26", + "src": "17140:391:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "15840:83:26", + "src": "17186:83:14", "statements": [ { "expression": { @@ -11547,13 +12294,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "15842:77:26" + "src": "17188:77:14" }, "nodeType": "YulFunctionCall", - "src": "15842:79:26" + "src": "17188:79:14" }, "nodeType": "YulExpressionStatement", - "src": "15842:79:26" + "src": "17188:79:14" } ] }, @@ -11564,26 +12311,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "15815:7:26" + "src": "17161:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15824:9:26" + "src": "17170:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15811:3:26" + "src": "17157:3:14" }, "nodeType": "YulFunctionCall", - "src": "15811:23:26" + "src": "17157:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15836:2:26", + "src": "17182:2:14", "type": "", "value": "64" } @@ -11591,25 +12338,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "15807:3:26" + "src": "17153:3:14" }, "nodeType": "YulFunctionCall", - "src": "15807:32:26" + "src": "17153:32:14" }, "nodeType": "YulIf", - "src": "15804:119:26" + "src": "17150:119:14" }, { "nodeType": "YulBlock", - "src": "15933:117:26", + "src": "17279:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15948:15:26", + "src": "17294:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15962:1:26", + "src": "17308:1:14", "type": "", "value": "0" }, @@ -11617,14 +12364,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15952:6:26", + "src": "17298:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "15977:63:26", + "src": "17323:63:14", "value": { "arguments": [ { @@ -11632,41 +12379,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16012:9:26" + "src": "17358:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16023:6:26" + "src": "17369:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16008:3:26" + "src": "17354:3:14" }, "nodeType": "YulFunctionCall", - "src": "16008:22:26" + "src": "17354:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16032:7:26" + "src": "17378:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "15987:20:26" + "src": "17333:20:14" }, "nodeType": "YulFunctionCall", - "src": "15987:53:26" + "src": "17333:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "15977:6:26" + "src": "17323:6:14" } ] } @@ -11674,15 +12421,15 @@ }, { "nodeType": "YulBlock", - "src": "16060:118:26", + "src": "17406:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16075:16:26", + "src": "17421:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16089:2:26", + "src": "17435:2:14", "type": "", "value": "32" }, @@ -11690,14 +12437,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16079:6:26", + "src": "17425:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16105:63:26", + "src": "17451:63:14", "value": { "arguments": [ { @@ -11705,41 +12452,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16140:9:26" + "src": "17486:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16151:6:26" + "src": "17497:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16136:3:26" + "src": "17482:3:14" }, "nodeType": "YulFunctionCall", - "src": "16136:22:26" + "src": "17482:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16160:7:26" + "src": "17506:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16115:20:26" + "src": "17461:20:14" }, "nodeType": "YulFunctionCall", - "src": "16115:53:26" + "src": "17461:53:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "16105:6:26" + "src": "17451:6:14" } ] } @@ -11753,13 +12500,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15756:9:26", + "src": "17102:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "15767:7:26", + "src": "17113:7:14", "type": "" } ], @@ -11767,22 +12514,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "15779:6:26", + "src": "17125:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "15787:6:26", + "src": "17133:6:14", "type": "" } ], - "src": "15711:474:26" + "src": "17057:474:14" }, { "body": { "nodeType": "YulBlock", - "src": "16219:152:26", + "src": "17565:152:14", "statements": [ { "expression": { @@ -11790,14 +12537,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "16236:1:26", + "src": "17582:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16239:77:26", + "src": "17585:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -11805,13 +12552,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16229:6:26" + "src": "17575:6:14" }, "nodeType": "YulFunctionCall", - "src": "16229:88:26" + "src": "17575:88:14" }, "nodeType": "YulExpressionStatement", - "src": "16229:88:26" + "src": "17575:88:14" }, { "expression": { @@ -11819,14 +12566,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "16333:1:26", + "src": "17679:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16336:4:26", + "src": "17682:4:14", "type": "", "value": "0x22" } @@ -11834,13 +12581,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16326:6:26" + "src": "17672:6:14" }, "nodeType": "YulFunctionCall", - "src": "16326:15:26" + "src": "17672:15:14" }, "nodeType": "YulExpressionStatement", - "src": "16326:15:26" + "src": "17672:15:14" }, { "expression": { @@ -11848,14 +12595,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "16357:1:26", + "src": "17703:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16360:4:26", + "src": "17706:4:14", "type": "", "value": "0x24" } @@ -11863,39 +12610,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "16350:6:26" + "src": "17696:6:14" }, "nodeType": "YulFunctionCall", - "src": "16350:15:26" + "src": "17696:15:14" }, "nodeType": "YulExpressionStatement", - "src": "16350:15:26" + "src": "17696:15:14" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "16191:180:26" + "src": "17537:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "16428:269:26", + "src": "17774:269:14", "statements": [ { "nodeType": "YulAssignment", - "src": "16438:22:26", + "src": "17784:22:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "16452:4:26" + "src": "17798:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16458:1:26", + "src": "17804:1:14", "type": "", "value": "2" } @@ -11903,33 +12650,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "16448:3:26" + "src": "17794:3:14" }, "nodeType": "YulFunctionCall", - "src": "16448:12:26" + "src": "17794:12:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "16438:6:26" + "src": "17784:6:14" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "16469:38:26", + "src": "17815:38:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "16499:4:26" + "src": "17845:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16505:1:26", + "src": "17851:1:14", "type": "", "value": "1" } @@ -11937,16 +12684,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "16495:3:26" + "src": "17841:3:14" }, "nodeType": "YulFunctionCall", - "src": "16495:12:26" + "src": "17841:12:14" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "16473:18:26", + "src": "17819:18:14", "type": "" } ] @@ -11954,22 +12701,22 @@ { "body": { "nodeType": "YulBlock", - "src": "16546:51:26", + "src": "17892:51:14", "statements": [ { "nodeType": "YulAssignment", - "src": "16560:27:26", + "src": "17906:27:14", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "16574:6:26" + "src": "17920:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16582:4:26", + "src": "17928:4:14", "type": "", "value": "0x7f" } @@ -11977,16 +12724,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "16570:3:26" + "src": "17916:3:14" }, "nodeType": "YulFunctionCall", - "src": "16570:17:26" + "src": "17916:17:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "16560:6:26" + "src": "17906:6:14" } ] } @@ -11997,24 +12744,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "16526:18:26" + "src": "17872:18:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "16519:6:26" + "src": "17865:6:14" }, "nodeType": "YulFunctionCall", - "src": "16519:26:26" + "src": "17865:26:14" }, "nodeType": "YulIf", - "src": "16516:81:26" + "src": "17862:81:14" }, { "body": { "nodeType": "YulBlock", - "src": "16649:42:26", + "src": "17995:42:14", "statements": [ { "expression": { @@ -12022,13 +12769,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "16663:16:26" + "src": "18009:16:14" }, "nodeType": "YulFunctionCall", - "src": "16663:18:26" + "src": "18009:18:14" }, "nodeType": "YulExpressionStatement", - "src": "16663:18:26" + "src": "18009:18:14" } ] }, @@ -12037,19 +12784,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "16613:18:26" + "src": "17959:18:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "16636:6:26" + "src": "17982:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16644:2:26", + "src": "17990:2:14", "type": "", "value": "32" } @@ -12057,22 +12804,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "16633:2:26" + "src": "17979:2:14" }, "nodeType": "YulFunctionCall", - "src": "16633:14:26" + "src": "17979:14:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "16610:2:26" + "src": "17956:2:14" }, "nodeType": "YulFunctionCall", - "src": "16610:38:26" + "src": "17956:38:14" }, "nodeType": "YulIf", - "src": "16607:84:26" + "src": "17953:84:14" } ] }, @@ -12082,7 +12829,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "16412:4:26", + "src": "17758:4:14", "type": "" } ], @@ -12090,16 +12837,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "16421:6:26", + "src": "17767:6:14", "type": "" } ], - "src": "16377:320:26" + "src": "17723:320:14" }, { "body": { "nodeType": "YulBlock", - "src": "16809:114:26", + "src": "18155:125:14", "statements": [ { "expression": { @@ -12109,12 +12856,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16831:6:26" + "src": "18177:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16839:1:26", + "src": "18185:1:14", "type": "", "value": "0" } @@ -12122,30 +12869,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16827:3:26" + "src": "18173:3:14" }, "nodeType": "YulFunctionCall", - "src": "16827:14:26" + "src": "18173:14:14" }, { - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", "kind": "string", "nodeType": "YulLiteral", - "src": "16843:34:26", + "src": "18189:34:14", "type": "", - "value": "ERC721: approval to current owne" + "value": "ERC721: approved query for nonex" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16820:6:26" + "src": "18166:6:14" }, "nodeType": "YulFunctionCall", - "src": "16820:58:26" + "src": "18166:58:14" }, "nodeType": "YulExpressionStatement", - "src": "16820:58:26" + "src": "18166:58:14" }, { "expression": { @@ -12155,12 +12902,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16899:6:26" + "src": "18245:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16907:2:26", + "src": "18253:2:14", "type": "", "value": "32" } @@ -12168,81 +12915,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16895:3:26" + "src": "18241:3:14" }, "nodeType": "YulFunctionCall", - "src": "16895:15:26" + "src": "18241:15:14" }, { - "hexValue": "72", + "hexValue": "697374656e7420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "16912:3:26", + "src": "18258:14:14", "type": "", - "value": "r" + "value": "istent token" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16888:6:26" + "src": "18234:6:14" }, "nodeType": "YulFunctionCall", - "src": "16888:28:26" + "src": "18234:39:14" }, "nodeType": "YulExpressionStatement", - "src": "16888:28:26" + "src": "18234:39:14" } ] }, - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "16801:6:26", + "src": "18147:6:14", "type": "" } ], - "src": "16703:220:26" + "src": "18049:231:14" }, { "body": { "nodeType": "YulBlock", - "src": "17075:220:26", + "src": "18432:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "17085:74:26", + "src": "18442:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17151:3:26" + "src": "18508:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17156:2:26", + "src": "18513:2:14", "type": "", - "value": "33" + "value": "44" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17092:58:26" + "src": "18449:58:14" }, "nodeType": "YulFunctionCall", - "src": "17092:67:26" + "src": "18449:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17085:3:26" + "src": "18442:3:14" } ] }, @@ -12252,34 +12999,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17257:3:26" + "src": "18614:3:14" } ], "functionName": { - "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", "nodeType": "YulIdentifier", - "src": "17168:88:26" + "src": "18525:88:14" }, "nodeType": "YulFunctionCall", - "src": "17168:93:26" + "src": "18525:93:14" }, "nodeType": "YulExpressionStatement", - "src": "17168:93:26" + "src": "18525:93:14" }, { "nodeType": "YulAssignment", - "src": "17270:19:26", + "src": "18627:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17281:3:26" + "src": "18638:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17286:2:26", + "src": "18643:2:14", "type": "", "value": "64" } @@ -12287,16 +13034,389 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17277:3:26" + "src": "18634:3:14" }, "nodeType": "YulFunctionCall", - "src": "17277:12:26" + "src": "18634:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17270:3:26" + "src": "18627:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18420:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18428:3:14", + "type": "" + } + ], + "src": "18286:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18829:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18839:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18851:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18862:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18847:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18847:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18839:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18886:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18897:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18882:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18882:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18905:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18911:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18901:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18901:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18875:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18875:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18875:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "18931:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19065:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18939:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "18939:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18931:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18809:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18824:4:14", + "type": "" + } + ], + "src": "18658:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19189:114:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19211:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19219:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19207:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19207:14:14" + }, + { + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19223:34:14", + "type": "", + "value": "ERC721: approval to current owne" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19200:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19200:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19200:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "19279:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19287:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19275:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19275:15:14" + }, + { + "hexValue": "72", + "kind": "string", + "nodeType": "YulLiteral", + "src": "19292:3:14", + "type": "", + "value": "r" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19268:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19268:28:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19268:28:14" + } + ] + }, + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "19181:6:14", + "type": "" + } + ], + "src": "19083:220:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19455:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19465:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19531:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19536:2:14", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19472:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "19472:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19465:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19637:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "nodeType": "YulIdentifier", + "src": "19548:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "19548:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19548:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "19650:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19661:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19666:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19657:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19657:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19650:3:14" } ] } @@ -12308,7 +13428,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17063:3:26", + "src": "19443:3:14", "type": "" } ], @@ -12316,31 +13436,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17071:3:26", + "src": "19451:3:14", "type": "" } ], - "src": "16929:366:26" + "src": "19309:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "17472:248:26", + "src": "19852:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "17482:26:26", + "src": "19862:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17494:9:26" + "src": "19874:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17505:2:26", + "src": "19885:2:14", "type": "", "value": "32" } @@ -12348,16 +13468,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17490:3:26" + "src": "19870:3:14" }, "nodeType": "YulFunctionCall", - "src": "17490:18:26" + "src": "19870:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17482:4:26" + "src": "19862:4:14" } ] }, @@ -12369,12 +13489,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17529:9:26" + "src": "19909:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17540:1:26", + "src": "19920:1:14", "type": "", "value": "0" } @@ -12382,68 +13502,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17525:3:26" + "src": "19905:3:14" }, "nodeType": "YulFunctionCall", - "src": "17525:17:26" + "src": "19905:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17548:4:26" + "src": "19928:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17554:9:26" + "src": "19934:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17544:3:26" + "src": "19924:3:14" }, "nodeType": "YulFunctionCall", - "src": "17544:20:26" + "src": "19924:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17518:6:26" + "src": "19898:6:14" }, "nodeType": "YulFunctionCall", - "src": "17518:47:26" + "src": "19898:47:14" }, "nodeType": "YulExpressionStatement", - "src": "17518:47:26" + "src": "19898:47:14" }, { "nodeType": "YulAssignment", - "src": "17574:139:26", + "src": "19954:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17708:4:26" + "src": "20088:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17582:124:26" + "src": "19962:124:14" }, "nodeType": "YulFunctionCall", - "src": "17582:131:26" + "src": "19962:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17574:4:26" + "src": "19954:4:14" } ] } @@ -12455,7 +13575,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17452:9:26", + "src": "19832:9:14", "type": "" } ], @@ -12463,16 +13583,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17467:4:26", + "src": "19847:4:14", "type": "" } ], - "src": "17301:419:26" + "src": "19681:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "17832:143:26", + "src": "20212:137:14", "statements": [ { "expression": { @@ -12482,12 +13602,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17854:6:26" + "src": "20234:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17862:1:26", + "src": "20242:1:14", "type": "", "value": "0" } @@ -12495,30 +13615,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17850:3:26" + "src": "20230:3:14" }, "nodeType": "YulFunctionCall", - "src": "17850:14:26" + "src": "20230:14:14" }, { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", "kind": "string", "nodeType": "YulLiteral", - "src": "17866:34:26", + "src": "20246:34:14", "type": "", - "value": "ERC721: approve caller is not to" + "value": "ERC721: approve caller is not ow" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17843:6:26" + "src": "20223:6:14" }, "nodeType": "YulFunctionCall", - "src": "17843:58:26" + "src": "20223:58:14" }, "nodeType": "YulExpressionStatement", - "src": "17843:58:26" + "src": "20223:58:14" }, { "expression": { @@ -12528,12 +13648,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17922:6:26" + "src": "20302:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17930:2:26", + "src": "20310:2:14", "type": "", "value": "32" } @@ -12541,81 +13661,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17918:3:26" + "src": "20298:3:14" }, "nodeType": "YulFunctionCall", - "src": "17918:15:26" + "src": "20298:15:14" }, { - "hexValue": "6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c", + "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "17935:32:26", + "src": "20315:26:14", "type": "", - "value": "ken owner nor approved for all" + "value": "ner nor approved for all" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17911:6:26" + "src": "20291:6:14" }, "nodeType": "YulFunctionCall", - "src": "17911:57:26" + "src": "20291:51:14" }, "nodeType": "YulExpressionStatement", - "src": "17911:57:26" + "src": "20291:51:14" } ] }, - "name": "store_literal_in_memory_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304", + "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17824:6:26", + "src": "20204:6:14", "type": "" } ], - "src": "17726:249:26" + "src": "20106:243:14" }, { "body": { "nodeType": "YulBlock", - "src": "18127:220:26", + "src": "20501:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "18137:74:26", + "src": "20511:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18203:3:26" + "src": "20577:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18208:2:26", + "src": "20582:2:14", "type": "", - "value": "62" + "value": "56" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18144:58:26" + "src": "20518:58:14" }, "nodeType": "YulFunctionCall", - "src": "18144:67:26" + "src": "20518:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18137:3:26" + "src": "20511:3:14" } ] }, @@ -12625,34 +13745,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18309:3:26" + "src": "20683:3:14" } ], "functionName": { - "name": "store_literal_in_memory_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304", + "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", "nodeType": "YulIdentifier", - "src": "18220:88:26" + "src": "20594:88:14" }, "nodeType": "YulFunctionCall", - "src": "18220:93:26" + "src": "20594:93:14" }, "nodeType": "YulExpressionStatement", - "src": "18220:93:26" + "src": "20594:93:14" }, { "nodeType": "YulAssignment", - "src": "18322:19:26", + "src": "20696:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18333:3:26" + "src": "20707:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18338:2:26", + "src": "20712:2:14", "type": "", "value": "64" } @@ -12660,28 +13780,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18329:3:26" + "src": "20703:3:14" }, "nodeType": "YulFunctionCall", - "src": "18329:12:26" + "src": "20703:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18322:3:26" + "src": "20696:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "18115:3:26", + "src": "20489:3:14", "type": "" } ], @@ -12689,31 +13809,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18123:3:26", + "src": "20497:3:14", "type": "" } ], - "src": "17981:366:26" + "src": "20355:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "18524:248:26", + "src": "20898:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "18534:26:26", + "src": "20908:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18546:9:26" + "src": "20920:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18557:2:26", + "src": "20931:2:14", "type": "", "value": "32" } @@ -12721,16 +13841,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18542:3:26" + "src": "20916:3:14" }, "nodeType": "YulFunctionCall", - "src": "18542:18:26" + "src": "20916:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18534:4:26" + "src": "20908:4:14" } ] }, @@ -12742,12 +13862,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18581:9:26" + "src": "20955:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18592:1:26", + "src": "20966:1:14", "type": "", "value": "0" } @@ -12755,80 +13875,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18577:3:26" + "src": "20951:3:14" }, "nodeType": "YulFunctionCall", - "src": "18577:17:26" + "src": "20951:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18600:4:26" + "src": "20974:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18606:9:26" + "src": "20980:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18596:3:26" + "src": "20970:3:14" }, "nodeType": "YulFunctionCall", - "src": "18596:20:26" + "src": "20970:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18570:6:26" + "src": "20944:6:14" }, "nodeType": "YulFunctionCall", - "src": "18570:47:26" + "src": "20944:47:14" }, "nodeType": "YulExpressionStatement", - "src": "18570:47:26" + "src": "20944:47:14" }, { "nodeType": "YulAssignment", - "src": "18626:139:26", + "src": "21000:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18760:4:26" + "src": "21134:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18634:124:26" + "src": "21008:124:14" }, "nodeType": "YulFunctionCall", - "src": "18634:131:26" + "src": "21008:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18626:4:26" + "src": "21000:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18504:9:26", + "src": "20878:9:14", "type": "" } ], @@ -12836,16 +13956,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18519:4:26", + "src": "20893:4:14", "type": "" } ], - "src": "18353:419:26" + "src": "20727:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "18884:56:26", + "src": "21258:130:14", "statements": [ { "expression": { @@ -12855,12 +13975,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18906:6:26" + "src": "21280:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18914:1:26", + "src": "21288:1:14", "type": "", "value": "0" } @@ -12868,81 +13988,127 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18902:3:26" + "src": "21276:3:14" }, "nodeType": "YulFunctionCall", - "src": "18902:14:26" + "src": "21276:14:14" }, { - "hexValue": "6c656e677468206572726f72", + "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", "kind": "string", "nodeType": "YulLiteral", - "src": "18918:14:26", + "src": "21292:34:14", "type": "", - "value": "length error" + "value": "ERC721: transfer caller is not o" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18895:6:26" + "src": "21269:6:14" }, "nodeType": "YulFunctionCall", - "src": "18895:38:26" + "src": "21269:58:14" }, "nodeType": "YulExpressionStatement", - "src": "18895:38:26" + "src": "21269:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21348:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21356:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21344:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21344:15:14" + }, + { + "hexValue": "776e6572206e6f7220617070726f766564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21361:19:14", + "type": "", + "value": "wner nor approved" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21337:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21337:44:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21337:44:14" } ] }, - "name": "store_literal_in_memory_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839", + "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18876:6:26", + "src": "21250:6:14", "type": "" } ], - "src": "18778:162:26" + "src": "21152:236:14" }, { "body": { "nodeType": "YulBlock", - "src": "19092:220:26", + "src": "21540:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "19102:74:26", + "src": "21550:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19168:3:26" + "src": "21616:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19173:2:26", + "src": "21621:2:14", "type": "", - "value": "12" + "value": "49" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19109:58:26" + "src": "21557:58:14" }, "nodeType": "YulFunctionCall", - "src": "19109:67:26" + "src": "21557:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19102:3:26" + "src": "21550:3:14" } ] }, @@ -12952,1618 +14118,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19274:3:26" + "src": "21722:3:14" } ], "functionName": { - "name": "store_literal_in_memory_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839", + "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", "nodeType": "YulIdentifier", - "src": "19185:88:26" + "src": "21633:88:14" }, "nodeType": "YulFunctionCall", - "src": "19185:93:26" + "src": "21633:93:14" }, "nodeType": "YulExpressionStatement", - "src": "19185:93:26" + "src": "21633:93:14" }, { "nodeType": "YulAssignment", - "src": "19287:19:26", + "src": "21735:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19298:3:26" + "src": "21746:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19303:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19294:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "19294:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19287:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "19080:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "19088:3:26", - "type": "" - } - ], - "src": "18946:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19489:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19499:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19511:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19522:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19507:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "19507:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19499:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19546:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19557:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19542:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "19542:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19565:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19571:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19561:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "19561:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19535:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "19535:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "19535:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "19591:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19725:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "19599:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "19599:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "19591:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "19469:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "19484:4:26", - "type": "" - } - ], - "src": "19318:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19771:152:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19788:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19791:77:26", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19781:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "19781:88:26" - }, - "nodeType": "YulExpressionStatement", - "src": "19781:88:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19885:1:26", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19888:4:26", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19878:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "19878:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "19878:15:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19909:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19912:4:26", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "19902:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "19902:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "19902:15:26" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "19743:180:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19957:152:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19974:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19977:77:26", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19967:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "19967:88:26" - }, - "nodeType": "YulExpressionStatement", - "src": "19967:88:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20071:1:26", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20074:4:26", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20064:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "20064:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "20064:15:26" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20095:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20098:4:26", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20088:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "20088:15:26" - }, - "nodeType": "YulExpressionStatement", - "src": "20088:15:26" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "19929:180:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20158:190:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20168:33:26", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20195:5:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "20177:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "20177:24:26" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20168:5:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20291:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "20293:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "20293:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "20293:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20216:5:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20223:66:26", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "20213:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "20213:77:26" - }, - "nodeType": "YulIf", - "src": "20210:103:26" - }, - { - "nodeType": "YulAssignment", - "src": "20322:20:26", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "20333:5:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20340:1:26", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20329:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "20329:13:26" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "20322:3:26" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "20144:5:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "20154:3:26", - "type": "" - } - ], - "src": "20115:233:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20465:73:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20482:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20487:6:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20475:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "20475:19:26" - }, - "nodeType": "YulExpressionStatement", - "src": "20475:19:26" - }, - { - "nodeType": "YulAssignment", - "src": "20503:29:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20522:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20527:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20518:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "20518:14:26" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "20503:11:26" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "20437:3:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "20442:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "20453:11:26", - "type": "" - } - ], - "src": "20354:184:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20633:28:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20650:1:26", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20653:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20643:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "20643:12:26" - }, - "nodeType": "YulExpressionStatement", - "src": "20643:12:26" - } - ] - }, - "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", - "nodeType": "YulFunctionDefinition", - "src": "20544:117:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20829:405:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20839:93:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20920:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20925:6:26" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "20846:73:26" - }, - "nodeType": "YulFunctionCall", - "src": "20846:86:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "20839:3:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21024:83:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec", - "nodeType": "YulIdentifier", - "src": "21026:77:26" - }, - "nodeType": "YulFunctionCall", - "src": "21026:79:26" - }, - "nodeType": "YulExpressionStatement", - "src": "21026:79:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20948:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20956:66:26", - "type": "", - "value": "0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20945:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "20945:78:26" - }, - "nodeType": "YulIf", - "src": "20942:165:26" - }, - { - "nodeType": "YulAssignment", - "src": "21116:27:26", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21130:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21138:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "21126:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21126:17:26" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21116:6:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "21177:5:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21184:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21189:6:26" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "21153:23:26" - }, - "nodeType": "YulFunctionCall", - "src": "21153:43:26" - }, - "nodeType": "YulExpressionStatement", - "src": "21153:43:26" - }, - { - "nodeType": "YulAssignment", - "src": "21205:23:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "21216:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "21221:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21212:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21212:16:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21205:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "20802:5:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "20809:6:26", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "20817:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "20825:3:26", - "type": "" - } - ], - "src": "20697:537:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21514:510:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21524:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21536:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21547:2:26", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21532:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21532:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21524:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "21604:6:26" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21617:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21628:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21613:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21613:17:26" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "21560:43:26" - }, - "nodeType": "YulFunctionCall", - "src": "21560:71:26" - }, - "nodeType": "YulExpressionStatement", - "src": "21560:71:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21652:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21663:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21648:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21648:18:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21672:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21678:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21668:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21668:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21641:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "21641:48:26" - }, - "nodeType": "YulExpressionStatement", - "src": "21641:48:26" - }, - { - "nodeType": "YulAssignment", - "src": "21698:126:26", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "21802:6:26" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "21810:6:26" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21819:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21706:95:26" - }, - "nodeType": "YulFunctionCall", - "src": "21706:118:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21698:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21845:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21856:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21841:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21841:18:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21865:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21871:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "21861:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "21861:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21834:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "21834:48:26" - }, - "nodeType": "YulExpressionStatement", - "src": "21834:48:26" - }, - { - "nodeType": "YulAssignment", - "src": "21891:126:26", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "21995:6:26" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "22003:6:26" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22012:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "21899:95:26" - }, - "nodeType": "YulFunctionCall", - "src": "21899:118:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "21891:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_address_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "21454:9:26", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "21466:6:26", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "21474:6:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "21482:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "21490:6:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "21498:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "21509:4:26", - "type": "" - } - ], - "src": "21240:784:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22184:288:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22194:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22206:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22217:2:26", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22202:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22202:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "22194:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22274:6:26" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22287:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22298:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22283:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22283:17:26" - } - ], - "functionName": { - "name": "abi_encode_t_address_to_t_address_fromStack", - "nodeType": "YulIdentifier", - "src": "22230:43:26" - }, - "nodeType": "YulFunctionCall", - "src": "22230:71:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22230:71:26" - }, - { - "expression": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22355:6:26" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22368:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22379:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22364:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22364:18:26" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22311:43:26" - }, - "nodeType": "YulFunctionCall", - "src": "22311:72:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22311:72:26" - }, - { - "expression": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "22437:6:26" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22450:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22461:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22446:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22446:18:26" - } - ], - "functionName": { - "name": "abi_encode_t_uint256_to_t_uint256_fromStack", - "nodeType": "YulIdentifier", - "src": "22393:43:26" - }, - "nodeType": "YulFunctionCall", - "src": "22393:72:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22393:72:26" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22140:9:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22152:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22160:6:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22168:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "22179:4:26", - "type": "" - } - ], - "src": "22030:442:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22584:127:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22606:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22614:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22602:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22602:14:26" - }, - { - "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22618:34:26", - "type": "", - "value": "ERC721: caller is not token owne" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22595:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "22595:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22595:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22674:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22682:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22670:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "22670:15:26" - }, - { - "hexValue": "72206e6f7220617070726f766564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22687:16:26", - "type": "", - "value": "r nor approved" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22663:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "22663:41:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22663:41:26" - } - ] - }, - "name": "store_literal_in_memory_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "22576:6:26", - "type": "" - } - ], - "src": "22478:233:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22863:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22873:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22939:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22944:2:26", - "type": "", - "value": "46" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22880:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "22880:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22873:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23045:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b", - "nodeType": "YulIdentifier", - "src": "22956:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "22956:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "22956:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "23058:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23069:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23074:2:26", + "src": "21751:2:14", "type": "", "value": "64" } @@ -14571,28 +14153,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23065:3:26" + "src": "21742:3:14" }, "nodeType": "YulFunctionCall", - "src": "23065:12:26" + "src": "21742:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "23058:3:26" + "src": "21735:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "22851:3:26", + "src": "21528:3:14", "type": "" } ], @@ -14600,31 +14182,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22859:3:26", + "src": "21536:3:14", "type": "" } ], - "src": "22717:366:26" + "src": "21394:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "23260:248:26", + "src": "21937:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "23270:26:26", + "src": "21947:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23282:9:26" + "src": "21959:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23293:2:26", + "src": "21970:2:14", "type": "", "value": "32" } @@ -14632,16 +14214,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23278:3:26" + "src": "21955:3:14" }, "nodeType": "YulFunctionCall", - "src": "23278:18:26" + "src": "21955:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23270:4:26" + "src": "21947:4:14" } ] }, @@ -14653,12 +14235,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23317:9:26" + "src": "21994:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23328:1:26", + "src": "22005:1:14", "type": "", "value": "0" } @@ -14666,80 +14248,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23313:3:26" + "src": "21990:3:14" }, "nodeType": "YulFunctionCall", - "src": "23313:17:26" + "src": "21990:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23336:4:26" + "src": "22013:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23342:9:26" + "src": "22019:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23332:3:26" + "src": "22009:3:14" }, "nodeType": "YulFunctionCall", - "src": "23332:20:26" + "src": "22009:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23306:6:26" + "src": "21983:6:14" }, "nodeType": "YulFunctionCall", - "src": "23306:47:26" + "src": "21983:47:14" }, "nodeType": "YulExpressionStatement", - "src": "23306:47:26" + "src": "21983:47:14" }, { "nodeType": "YulAssignment", - "src": "23362:139:26", + "src": "22039:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23496:4:26" + "src": "22173:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23370:124:26" + "src": "22047:124:14" }, "nodeType": "YulFunctionCall", - "src": "23370:131:26" + "src": "22047:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23362:4:26" + "src": "22039:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "23240:9:26", + "src": "21917:9:14", "type": "" } ], @@ -14747,16 +14329,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "23255:4:26", + "src": "21932:4:14", "type": "" } ], - "src": "23089:419:26" + "src": "21766:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "23620:124:26", + "src": "22297:124:14", "statements": [ { "expression": { @@ -14766,12 +14348,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23642:6:26" + "src": "22319:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23650:1:26", + "src": "22327:1:14", "type": "", "value": "0" } @@ -14779,16 +14361,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23638:3:26" + "src": "22315:3:14" }, "nodeType": "YulFunctionCall", - "src": "23638:14:26" + "src": "22315:14:14" }, { "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", "kind": "string", "nodeType": "YulLiteral", - "src": "23654:34:26", + "src": "22331:34:14", "type": "", "value": "ERC721Enumerable: owner index ou" } @@ -14796,13 +14378,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23631:6:26" + "src": "22308:6:14" }, "nodeType": "YulFunctionCall", - "src": "23631:58:26" + "src": "22308:58:14" }, "nodeType": "YulExpressionStatement", - "src": "23631:58:26" + "src": "22308:58:14" }, { "expression": { @@ -14812,12 +14394,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23710:6:26" + "src": "22387:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23718:2:26", + "src": "22395:2:14", "type": "", "value": "32" } @@ -14825,16 +14407,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23706:3:26" + "src": "22383:3:14" }, "nodeType": "YulFunctionCall", - "src": "23706:15:26" + "src": "22383:15:14" }, { "hexValue": "74206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "23723:13:26", + "src": "22400:13:14", "type": "", "value": "t of bounds" } @@ -14842,13 +14424,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23699:6:26" + "src": "22376:6:14" }, "nodeType": "YulFunctionCall", - "src": "23699:38:26" + "src": "22376:38:14" }, "nodeType": "YulExpressionStatement", - "src": "23699:38:26" + "src": "22376:38:14" } ] }, @@ -14858,31 +14440,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23612:6:26", + "src": "22289:6:14", "type": "" } ], - "src": "23514:230:26" + "src": "22191:230:14" }, { "body": { "nodeType": "YulBlock", - "src": "23896:220:26", + "src": "22573:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "23906:74:26", + "src": "22583:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23972:3:26" + "src": "22649:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23977:2:26", + "src": "22654:2:14", "type": "", "value": "43" } @@ -14890,16 +14472,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23913:58:26" + "src": "22590:58:14" }, "nodeType": "YulFunctionCall", - "src": "23913:67:26" + "src": "22590:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23906:3:26" + "src": "22583:3:14" } ] }, @@ -14909,34 +14491,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24078:3:26" + "src": "22755:3:14" } ], "functionName": { "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "nodeType": "YulIdentifier", - "src": "23989:88:26" + "src": "22666:88:14" }, "nodeType": "YulFunctionCall", - "src": "23989:93:26" + "src": "22666:93:14" }, "nodeType": "YulExpressionStatement", - "src": "23989:93:26" + "src": "22666:93:14" }, { "nodeType": "YulAssignment", - "src": "24091:19:26", + "src": "22768:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24102:3:26" + "src": "22779:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24107:2:26", + "src": "22784:2:14", "type": "", "value": "64" } @@ -14944,16 +14526,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24098:3:26" + "src": "22775:3:14" }, "nodeType": "YulFunctionCall", - "src": "24098:12:26" + "src": "22775:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24091:3:26" + "src": "22768:3:14" } ] } @@ -14965,7 +14547,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23884:3:26", + "src": "22561:3:14", "type": "" } ], @@ -14973,31 +14555,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23892:3:26", + "src": "22569:3:14", "type": "" } ], - "src": "23750:366:26" + "src": "22427:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "24293:248:26", + "src": "22970:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "24303:26:26", + "src": "22980:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24315:9:26" + "src": "22992:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24326:2:26", + "src": "23003:2:14", "type": "", "value": "32" } @@ -15005,16 +14587,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24311:3:26" + "src": "22988:3:14" }, "nodeType": "YulFunctionCall", - "src": "24311:18:26" + "src": "22988:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24303:4:26" + "src": "22980:4:14" } ] }, @@ -15026,12 +14608,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24350:9:26" + "src": "23027:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24361:1:26", + "src": "23038:1:14", "type": "", "value": "0" } @@ -15039,68 +14621,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24346:3:26" + "src": "23023:3:14" }, "nodeType": "YulFunctionCall", - "src": "24346:17:26" + "src": "23023:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24369:4:26" + "src": "23046:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24375:9:26" + "src": "23052:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24365:3:26" + "src": "23042:3:14" }, "nodeType": "YulFunctionCall", - "src": "24365:20:26" + "src": "23042:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24339:6:26" + "src": "23016:6:14" }, "nodeType": "YulFunctionCall", - "src": "24339:47:26" + "src": "23016:47:14" }, "nodeType": "YulExpressionStatement", - "src": "24339:47:26" + "src": "23016:47:14" }, { "nodeType": "YulAssignment", - "src": "24395:139:26", + "src": "23072:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24529:4:26" + "src": "23206:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24403:124:26" + "src": "23080:124:14" }, "nodeType": "YulFunctionCall", - "src": "24403:131:26" + "src": "23080:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24395:4:26" + "src": "23072:4:14" } ] } @@ -15112,7 +14694,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "24273:9:26", + "src": "22950:9:14", "type": "" } ], @@ -15120,16 +14702,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "24288:4:26", + "src": "22965:4:14", "type": "" } ], - "src": "24122:419:26" + "src": "22799:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "24653:128:26", + "src": "23330:128:14", "statements": [ { "expression": { @@ -15139,12 +14721,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "24675:6:26" + "src": "23352:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24683:1:26", + "src": "23360:1:14", "type": "", "value": "0" } @@ -15152,16 +14734,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24671:3:26" + "src": "23348:3:14" }, "nodeType": "YulFunctionCall", - "src": "24671:14:26" + "src": "23348:14:14" }, { "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "24687:34:26", + "src": "23364:34:14", "type": "", "value": "AccessControl: can only renounce" } @@ -15169,13 +14751,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24664:6:26" + "src": "23341:6:14" }, "nodeType": "YulFunctionCall", - "src": "24664:58:26" + "src": "23341:58:14" }, "nodeType": "YulExpressionStatement", - "src": "24664:58:26" + "src": "23341:58:14" }, { "expression": { @@ -15185,12 +14767,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "24743:6:26" + "src": "23420:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24751:2:26", + "src": "23428:2:14", "type": "", "value": "32" } @@ -15198,16 +14780,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24739:3:26" + "src": "23416:3:14" }, "nodeType": "YulFunctionCall", - "src": "24739:15:26" + "src": "23416:15:14" }, { "hexValue": "20726f6c657320666f722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "24756:17:26", + "src": "23433:17:14", "type": "", "value": " roles for self" } @@ -15215,13 +14797,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24732:6:26" + "src": "23409:6:14" }, "nodeType": "YulFunctionCall", - "src": "24732:42:26" + "src": "23409:42:14" }, "nodeType": "YulExpressionStatement", - "src": "24732:42:26" + "src": "23409:42:14" } ] }, @@ -15231,31 +14813,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "24645:6:26", + "src": "23322:6:14", "type": "" } ], - "src": "24547:234:26" + "src": "23224:234:14" }, { "body": { "nodeType": "YulBlock", - "src": "24933:220:26", + "src": "23610:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "24943:74:26", + "src": "23620:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25009:3:26" + "src": "23686:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25014:2:26", + "src": "23691:2:14", "type": "", "value": "47" } @@ -15263,16 +14845,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24950:58:26" + "src": "23627:58:14" }, "nodeType": "YulFunctionCall", - "src": "24950:67:26" + "src": "23627:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24943:3:26" + "src": "23620:3:14" } ] }, @@ -15282,34 +14864,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25115:3:26" + "src": "23792:3:14" } ], "functionName": { "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", "nodeType": "YulIdentifier", - "src": "25026:88:26" + "src": "23703:88:14" }, "nodeType": "YulFunctionCall", - "src": "25026:93:26" + "src": "23703:93:14" }, "nodeType": "YulExpressionStatement", - "src": "25026:93:26" + "src": "23703:93:14" }, { "nodeType": "YulAssignment", - "src": "25128:19:26", + "src": "23805:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25139:3:26" + "src": "23816:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25144:2:26", + "src": "23821:2:14", "type": "", "value": "64" } @@ -15317,16 +14899,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25135:3:26" + "src": "23812:3:14" }, "nodeType": "YulFunctionCall", - "src": "25135:12:26" + "src": "23812:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25128:3:26" + "src": "23805:3:14" } ] } @@ -15338,7 +14920,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24921:3:26", + "src": "23598:3:14", "type": "" } ], @@ -15346,31 +14928,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24929:3:26", + "src": "23606:3:14", "type": "" } ], - "src": "24787:366:26" + "src": "23464:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "25330:248:26", + "src": "24007:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "25340:26:26", + "src": "24017:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25352:9:26" + "src": "24029:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25363:2:26", + "src": "24040:2:14", "type": "", "value": "32" } @@ -15378,16 +14960,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25348:3:26" + "src": "24025:3:14" }, "nodeType": "YulFunctionCall", - "src": "25348:18:26" + "src": "24025:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25340:4:26" + "src": "24017:4:14" } ] }, @@ -15399,12 +14981,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25387:9:26" + "src": "24064:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25398:1:26", + "src": "24075:1:14", "type": "", "value": "0" } @@ -15412,68 +14994,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25383:3:26" + "src": "24060:3:14" }, "nodeType": "YulFunctionCall", - "src": "25383:17:26" + "src": "24060:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25406:4:26" + "src": "24083:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25412:9:26" + "src": "24089:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25402:3:26" + "src": "24079:3:14" }, "nodeType": "YulFunctionCall", - "src": "25402:20:26" + "src": "24079:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25376:6:26" + "src": "24053:6:14" }, "nodeType": "YulFunctionCall", - "src": "25376:47:26" + "src": "24053:47:14" }, "nodeType": "YulExpressionStatement", - "src": "25376:47:26" + "src": "24053:47:14" }, { "nodeType": "YulAssignment", - "src": "25432:139:26", + "src": "24109:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25566:4:26" + "src": "24243:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25440:124:26" + "src": "24117:124:14" }, "nodeType": "YulFunctionCall", - "src": "25440:131:26" + "src": "24117:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25432:4:26" + "src": "24109:4:14" } ] } @@ -15485,7 +15067,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25310:9:26", + "src": "23987:9:14", "type": "" } ], @@ -15493,16 +15075,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25325:4:26", + "src": "24002:4:14", "type": "" } ], - "src": "25159:419:26" + "src": "23836:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "25690:125:26", + "src": "24367:76:14", "statements": [ { "expression": { @@ -15512,12 +15094,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25712:6:26" + "src": "24389:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25720:1:26", + "src": "24397:1:14", "type": "", "value": "0" } @@ -15525,127 +15107,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25708:3:26" + "src": "24385:3:14" }, "nodeType": "YulFunctionCall", - "src": "25708:14:26" + "src": "24385:14:14" }, { - "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "hexValue": "63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", "kind": "string", "nodeType": "YulLiteral", - "src": "25724:34:26", + "src": "24401:34:14", "type": "", - "value": "ERC721Enumerable: global index o" + "value": "caller is not owner nor approved" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25701:6:26" + "src": "24378:6:14" }, "nodeType": "YulFunctionCall", - "src": "25701:58:26" + "src": "24378:58:14" }, "nodeType": "YulExpressionStatement", - "src": "25701:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "25780:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25788:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25776:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "25776:15:26" - }, - { - "hexValue": "7574206f6620626f756e6473", - "kind": "string", - "nodeType": "YulLiteral", - "src": "25793:14:26", - "type": "", - "value": "ut of bounds" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25769:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "25769:39:26" - }, - "nodeType": "YulExpressionStatement", - "src": "25769:39:26" + "src": "24378:58:14" } ] }, - "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "name": "store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25682:6:26", + "src": "24359:6:14", "type": "" } ], - "src": "25584:231:26" + "src": "24261:182:14" }, { "body": { "nodeType": "YulBlock", - "src": "25967:220:26", + "src": "24595:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "25977:74:26", + "src": "24605:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26043:3:26" + "src": "24671:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26048:2:26", + "src": "24676:2:14", "type": "", - "value": "44" + "value": "32" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25984:58:26" + "src": "24612:58:14" }, "nodeType": "YulFunctionCall", - "src": "25984:67:26" + "src": "24612:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25977:3:26" + "src": "24605:3:14" } ] }, @@ -15655,63 +15191,63 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26149:3:26" + "src": "24777:3:14" } ], "functionName": { - "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "name": "store_literal_in_memory_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad", "nodeType": "YulIdentifier", - "src": "26060:88:26" + "src": "24688:88:14" }, "nodeType": "YulFunctionCall", - "src": "26060:93:26" + "src": "24688:93:14" }, "nodeType": "YulExpressionStatement", - "src": "26060:93:26" + "src": "24688:93:14" }, { "nodeType": "YulAssignment", - "src": "26162:19:26", + "src": "24790:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26173:3:26" + "src": "24801:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26178:2:26", + "src": "24806:2:14", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26169:3:26" + "src": "24797:3:14" }, "nodeType": "YulFunctionCall", - "src": "26169:12:26" + "src": "24797:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "26162:3:26" + "src": "24790:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "25955:3:26", + "src": "24583:3:14", "type": "" } ], @@ -15719,31 +15255,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25963:3:26", + "src": "24591:3:14", "type": "" } ], - "src": "25821:366:26" + "src": "24449:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "26364:248:26", + "src": "24992:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "26374:26:26", + "src": "25002:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26386:9:26" + "src": "25014:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26397:2:26", + "src": "25025:2:14", "type": "", "value": "32" } @@ -15751,16 +15287,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26382:3:26" + "src": "25010:3:14" }, "nodeType": "YulFunctionCall", - "src": "26382:18:26" + "src": "25010:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26374:4:26" + "src": "25002:4:14" } ] }, @@ -15772,12 +15308,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26421:9:26" + "src": "25049:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26432:1:26", + "src": "25060:1:14", "type": "", "value": "0" } @@ -15785,80 +15321,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26417:3:26" + "src": "25045:3:14" }, "nodeType": "YulFunctionCall", - "src": "26417:17:26" + "src": "25045:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26440:4:26" + "src": "25068:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26446:9:26" + "src": "25074:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "26436:3:26" + "src": "25064:3:14" }, "nodeType": "YulFunctionCall", - "src": "26436:20:26" + "src": "25064:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26410:6:26" + "src": "25038:6:14" }, "nodeType": "YulFunctionCall", - "src": "26410:47:26" + "src": "25038:47:14" }, "nodeType": "YulExpressionStatement", - "src": "26410:47:26" + "src": "25038:47:14" }, { "nodeType": "YulAssignment", - "src": "26466:139:26", + "src": "25094:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26600:4:26" + "src": "25228:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26474:124:26" + "src": "25102:124:14" }, "nodeType": "YulFunctionCall", - "src": "26474:131:26" + "src": "25102:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26466:4:26" + "src": "25094:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_a4809fad421eb8d4af92593cf5120cfa909c493f3cfeef8e22867033eb787aad__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "26344:9:26", + "src": "24972:9:14", "type": "" } ], @@ -15866,16 +15402,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "26359:4:26", + "src": "24987:4:14", "type": "" } ], - "src": "26193:419:26" + "src": "24821:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "26724:68:26", + "src": "25352:61:14", "statements": [ { "expression": { @@ -15885,12 +15421,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26746:6:26" + "src": "25374:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26754:1:26", + "src": "25382:1:14", "type": "", "value": "0" } @@ -15898,81 +15434,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26742:3:26" + "src": "25370:3:14" }, "nodeType": "YulFunctionCall", - "src": "26742:14:26" + "src": "25370:14:14" }, { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", + "hexValue": "746f6b656e49647320746f6f206d616e79", "kind": "string", "nodeType": "YulLiteral", - "src": "26758:26:26", + "src": "25386:19:14", "type": "", - "value": "ERC721: invalid token ID" + "value": "tokenIds too many" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26735:6:26" + "src": "25363:6:14" }, "nodeType": "YulFunctionCall", - "src": "26735:50:26" + "src": "25363:43:14" }, "nodeType": "YulExpressionStatement", - "src": "26735:50:26" + "src": "25363:43:14" } ] }, - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26716:6:26", + "src": "25344:6:14", "type": "" } ], - "src": "26618:174:26" + "src": "25246:167:14" }, { "body": { "nodeType": "YulBlock", - "src": "26944:220:26", + "src": "25565:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "26954:74:26", + "src": "25575:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27020:3:26" + "src": "25641:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27025:2:26", + "src": "25646:2:14", "type": "", - "value": "24" + "value": "17" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26961:58:26" + "src": "25582:58:14" }, "nodeType": "YulFunctionCall", - "src": "26961:67:26" + "src": "25582:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26954:3:26" + "src": "25575:3:14" } ] }, @@ -15982,34 +15518,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27126:3:26" + "src": "25747:3:14" } ], "functionName": { - "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", "nodeType": "YulIdentifier", - "src": "27037:88:26" + "src": "25658:88:14" }, "nodeType": "YulFunctionCall", - "src": "27037:93:26" + "src": "25658:93:14" }, "nodeType": "YulExpressionStatement", - "src": "27037:93:26" + "src": "25658:93:14" }, { "nodeType": "YulAssignment", - "src": "27139:19:26", + "src": "25760:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27150:3:26" + "src": "25771:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27155:2:26", + "src": "25776:2:14", "type": "", "value": "32" } @@ -16017,28 +15553,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27146:3:26" + "src": "25767:3:14" }, "nodeType": "YulFunctionCall", - "src": "27146:12:26" + "src": "25767:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27139:3:26" + "src": "25760:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "26932:3:26", + "src": "25553:3:14", "type": "" } ], @@ -16046,31 +15582,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26940:3:26", + "src": "25561:3:14", "type": "" } ], - "src": "26798:366:26" + "src": "25419:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "27341:248:26", + "src": "25962:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "27351:26:26", + "src": "25972:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27363:9:26" + "src": "25984:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27374:2:26", + "src": "25995:2:14", "type": "", "value": "32" } @@ -16078,16 +15614,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27359:3:26" + "src": "25980:3:14" }, "nodeType": "YulFunctionCall", - "src": "27359:18:26" + "src": "25980:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27351:4:26" + "src": "25972:4:14" } ] }, @@ -16099,12 +15635,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27398:9:26" + "src": "26019:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27409:1:26", + "src": "26030:1:14", "type": "", "value": "0" } @@ -16112,80 +15648,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27394:3:26" + "src": "26015:3:14" }, "nodeType": "YulFunctionCall", - "src": "27394:17:26" + "src": "26015:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27417:4:26" + "src": "26038:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27423:9:26" + "src": "26044:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27413:3:26" + "src": "26034:3:14" }, "nodeType": "YulFunctionCall", - "src": "27413:20:26" + "src": "26034:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27387:6:26" + "src": "26008:6:14" }, "nodeType": "YulFunctionCall", - "src": "27387:47:26" + "src": "26008:47:14" }, "nodeType": "YulExpressionStatement", - "src": "27387:47:26" + "src": "26008:47:14" }, { "nodeType": "YulAssignment", - "src": "27443:139:26", + "src": "26064:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27577:4:26" + "src": "26198:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27451:124:26" + "src": "26072:124:14" }, "nodeType": "YulFunctionCall", - "src": "27451:131:26" + "src": "26072:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27443:4:26" + "src": "26064:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27321:9:26", + "src": "25942:9:14", "type": "" } ], @@ -16193,2570 +15729,173 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27336:4:26", + "src": "25957:4:14", "type": "" } ], - "src": "27170:419:26" + "src": "25791:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "27701:122:26", + "src": "26244:152:14", "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27723:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27731:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27719:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "27719:14:26" - }, - { - "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27735:34:26", - "type": "", - "value": "ERC721: address zero is not a va" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27712:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "27712:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "27712:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27791:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27799:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27787:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "27787:15:26" - }, - { - "hexValue": "6c6964206f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27804:11:26", - "type": "", - "value": "lid owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27780:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "27780:36:26" - }, - "nodeType": "YulExpressionStatement", - "src": "27780:36:26" - } - ] - }, - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "27693:6:26", - "type": "" - } - ], - "src": "27595:228:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27975:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27985:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28051:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28056:2:26", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "27992:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "27992:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27985:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28157:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", - "nodeType": "YulIdentifier", - "src": "28068:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "28068:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "28068:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "28170:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28181:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28186:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28177:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "28177:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "28170:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "27963:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "27971:3:26", - "type": "" - } - ], - "src": "27829:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28372:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28382:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28394:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28405:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28390:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "28390:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28382:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28429:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28440:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28425:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "28425:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28448:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28454:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28444:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "28444:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28418:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "28418:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "28418:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "28474:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28608:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "28482:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "28482:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28474:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28352:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28367:4:26", - "type": "" - } - ], - "src": "28201:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28740:34:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28750:18:26", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "28765:3:26" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "28750:11:26" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "28712:3:26", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "28717:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "28728:11:26", - "type": "" - } - ], - "src": "28626:148:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28834:87:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28844:11:26", - "value": { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "28852:3:26" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "28844:4:26" - } - ] - }, { "expression": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "28872:1:26", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "28875:3:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28865:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "28865:14:26" - }, - "nodeType": "YulExpressionStatement", - "src": "28865:14:26" - }, - { - "nodeType": "YulAssignment", - "src": "28888:26:26", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28906:1:26", + "src": "26261:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28909:4:26", + "src": "26264:77:14", "type": "", - "value": "0x20" + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } ], "functionName": { - "name": "keccak256", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "28896:9:26" + "src": "26254:6:14" }, "nodeType": "YulFunctionCall", - "src": "28896:18:26" + "src": "26254:88:14" }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "28888:4:26" - } - ] - } - ] - }, - "name": "array_dataslot_t_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "28821:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "28829:4:26", - "type": "" - } - ], - "src": "28780:141:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29058:738:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "29068:29:26", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "29091:5:26" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "29085:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "29085:12:26" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "29072:9:26", - "type": "" - } - ] + "nodeType": "YulExpressionStatement", + "src": "26254:88:14" }, { - "nodeType": "YulVariableDeclaration", - "src": "29106:50:26", - "value": { + "expression": { "arguments": [ { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "29146:9:26" - } - ], - "functionName": { - "name": "extract_byte_array_length", - "nodeType": "YulIdentifier", - "src": "29120:25:26" - }, - "nodeType": "YulFunctionCall", - "src": "29120:36:26" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "29110:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "29165:96:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29249:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "29254:6:26" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "29172:76:26" - }, - "nodeType": "YulFunctionCall", - "src": "29172:89:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29165:3:26" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "29310:130:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29363:3:26" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "29372:9:26" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29387:4:26", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "29383:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29383:9:26" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "29368:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29368:25:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29356:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "29356:38:26" - }, - "nodeType": "YulExpressionStatement", - "src": "29356:38:26" - }, - { - "nodeType": "YulAssignment", - "src": "29407:23:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29418:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "29423:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29414:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29414:16:26" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "29407:3:26" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "29303:137:26", - "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "29308:1:26", + "src": "26358:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26361:4:14", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26351:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "26351:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "26351:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26382:1:14", "type": "", "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29456:334:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "29501:53:26", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "29548:5:26" - } - ], - "functionName": { - "name": "array_dataslot_t_string_storage", - "nodeType": "YulIdentifier", - "src": "29516:31:26" - }, - "nodeType": "YulFunctionCall", - "src": "29516:38:26" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "29505:7:26", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "29567:10:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29576:1:26", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "29571:1:26", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29634:110:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29663:3:26" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "29668:1:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29659:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29659:11:26" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "29678:7:26" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "29672:5:26" - }, - "nodeType": "YulFunctionCall", - "src": "29672:14:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29652:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "29652:35:26" - }, - "nodeType": "YulExpressionStatement", - "src": "29652:35:26" - }, - { - "nodeType": "YulAssignment", - "src": "29704:26:26", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "29719:7:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29728:1:26", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29715:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29715:15:26" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "29704:7:26" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "29601:1:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "29604:6:26" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "29598:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "29598:13:26" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "29612:21:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29614:17:26", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "29623:1:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29626:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29619:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29619:12:26" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "29614:1:26" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "29594:3:26", - "statements": [] - }, - "src": "29590:154:26" - }, - { - "nodeType": "YulAssignment", - "src": "29757:23:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "29768:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "29773:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29764:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29764:16:26" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "29757:3:26" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "29449:341:26", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29454:1:26", - "type": "", - "value": "1" - } - } - ], - "expression": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "29281:9:26" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29292:1:26", + "src": "26385:4:14", "type": "", - "value": "1" + "value": "0x24" } ], "functionName": { - "name": "and", + "name": "revert", "nodeType": "YulIdentifier", - "src": "29277:3:26" + "src": "26375:6:14" }, "nodeType": "YulFunctionCall", - "src": "29277:17:26" - }, - "nodeType": "YulSwitch", - "src": "29270:520:26" - } - ] - }, - "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "29039:5:26", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "29046:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "29054:3:26", - "type": "" - } - ], - "src": "28951:845:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29908:45:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "29930:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29938:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29926:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "29926:14:26" - }, - { - "hexValue": "2f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "29942:3:26", - "type": "", - "value": "/" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29919:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "29919:27:26" + "src": "26375:15:14" }, "nodeType": "YulExpressionStatement", - "src": "29919:27:26" + "src": "26375:15:14" } ] }, - "name": "store_literal_in_memory_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", + "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "29900:6:26", - "type": "" - } - ], - "src": "29802:151:26" + "src": "26216:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "30123:236:26", + "src": "26446:261:14", "statements": [ { "nodeType": "YulAssignment", - "src": "30133:91:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30217:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30222:1:26", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "30140:76:26" - }, - "nodeType": "YulFunctionCall", - "src": "30140:84:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30133:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30322:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "nodeType": "YulIdentifier", - "src": "30233:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "30233:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "30233:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "30335:18:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30346:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30351:1:26", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30342:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "30342:11:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "30335:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30111:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30119:3:26", - "type": "" - } - ], - "src": "29959:400:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30475:267:26", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "30485:53:26", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "30532:5:26" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "30499:32:26" - }, - "nodeType": "YulFunctionCall", - "src": "30499:39:26" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "30489:6:26", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30547:96:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30631:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30636:6:26" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "30554:76:26" - }, - "nodeType": "YulFunctionCall", - "src": "30554:89:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30547:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "30678:5:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30685:4:26", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30674:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "30674:16:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30692:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30697:6:26" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "30652:21:26" - }, - "nodeType": "YulFunctionCall", - "src": "30652:52:26" - }, - "nodeType": "YulExpressionStatement", - "src": "30652:52:26" - }, - { - "nodeType": "YulAssignment", - "src": "30713:23:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30724:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "30729:6:26" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30720:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "30720:16:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "30713:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "30456:5:26", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30463:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30471:3:26", - "type": "" - } - ], - "src": "30365:377:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31179:690:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31190:99:26", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "31276:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31285:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31197:78:26" - }, - "nodeType": "YulFunctionCall", - "src": "31197:92:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31190:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31299:155:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31450:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31306:142:26" - }, - "nodeType": "YulFunctionCall", - "src": "31306:148:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31299:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31464:102:26", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "31553:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31562:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31471:81:26" - }, - "nodeType": "YulFunctionCall", - "src": "31471:95:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31464:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31576:155:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31727:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31583:142:26" - }, - "nodeType": "YulFunctionCall", - "src": "31583:148:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31576:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31741:102:26", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "31830:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31839:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31748:81:26" - }, - "nodeType": "YulFunctionCall", - "src": "31748:95:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31741:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31853:10:26", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31860:3:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31853:3:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_storage_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr__to_t_string_memory_ptr_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": "31142:3:26", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "31148:6:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "31156:6:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "31164:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "31175:3:26", - "type": "" - } - ], - "src": "30748:1121:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32157:413:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "32168:99:26", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "32254:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32263:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32175:78:26" - }, - "nodeType": "YulFunctionCall", - "src": "32175:92:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32168:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32277:155:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32428:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32284:142:26" - }, - "nodeType": "YulFunctionCall", - "src": "32284:148:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32277:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32442:102:26", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "32531:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32540:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32449:81:26" - }, - "nodeType": "YulFunctionCall", - "src": "32449:95:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32442:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32554:10:26", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32561:3:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "32554:3:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_storage_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "32128:3:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "32134:6:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "32142:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "32153:3:26", - "type": "" - } - ], - "src": "31875:695:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32682:118:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "32704:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32712:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32700:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "32700:14:26" - }, - { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "32716:34:26", - "type": "", - "value": "ERC721: transfer from incorrect " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "32693:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "32693:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "32693:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "32772:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32780:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32768:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "32768:15:26" - }, - { - "hexValue": "6f776e6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "32785:7:26", - "type": "", - "value": "owner" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "32761:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "32761:32:26" - }, - "nodeType": "YulExpressionStatement", - "src": "32761:32:26" - } - ] - }, - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "32674:6:26", - "type": "" - } - ], - "src": "32576:224:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32952:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "32962:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "33028:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33033:2:26", - "type": "", - "value": "37" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "32969:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "32969:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32962:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "33134:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", - "nodeType": "YulIdentifier", - "src": "33045:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "33045:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "33045:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "33147:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "33158:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33163:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33154:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33154:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "33147:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "32940:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "32948:3:26", - "type": "" - } - ], - "src": "32806:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33349:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "33359:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33371:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33382:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33367:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33367:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33359:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33406:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33417:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33402:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33402:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33425:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33431:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "33421:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33421:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33395:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "33395:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "33395:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "33451:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33585:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "33459:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "33459:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33451:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "33329:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "33344:4:26", - "type": "" - } - ], - "src": "33178:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33709:117:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "33731:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33739:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33727:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33727:14:26" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", - "kind": "string", - "nodeType": "YulLiteral", - "src": "33743:34:26", - "type": "", - "value": "ERC721: transfer to the zero add" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33720:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "33720:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "33720:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "33799:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33807:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33795:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "33795:15:26" - }, - { - "hexValue": "72657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "33812:6:26", - "type": "", - "value": "ress" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33788:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "33788:31:26" - }, - "nodeType": "YulExpressionStatement", - "src": "33788:31:26" - } - ] - }, - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "33701:6:26", - "type": "" - } - ], - "src": "33603:223:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33978:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "33988:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "34054:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34059:2:26", - "type": "", - "value": "36" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "33995:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "33995:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "33988:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "34160:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "nodeType": "YulIdentifier", - "src": "34071:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "34071:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "34071:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "34173:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "34184:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34189:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34180:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "34180:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "34173:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "33966:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "33974:3:26", - "type": "" - } - ], - "src": "33832:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34375:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "34385:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34397:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34408:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34393:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "34393:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "34385:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34432:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34443:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34428:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "34428:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "34451:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34457:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "34447:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "34447:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34421:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "34421:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "34421:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "34477:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "34611:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "34485:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "34485:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "34477:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "34355:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "34370:4:26", - "type": "" - } - ], - "src": "34204:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34674:146:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "34684:25:26", + "src": "26456:25:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34707:1:26" + "src": "26479:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34689:17:26" + "src": "26461:17:14" }, "nodeType": "YulFunctionCall", - "src": "34689:20:26" + "src": "26461:20:14" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "34684:1:26" + "src": "26456:1:14" } ] }, { "nodeType": "YulAssignment", - "src": "34718:25:26", + "src": "26490:25:14", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34741:1:26" + "src": "26513:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "34723:17:26" + "src": "26495:17:14" }, "nodeType": "YulFunctionCall", - "src": "34723:20:26" + "src": "26495:20:14" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "34718:1:26" + "src": "26490:1:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "34765:22:26", + "src": "26653:22:14", "statements": [ { "expression": { @@ -18764,13 +15903,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "34767:16:26" + "src": "26655:16:14" }, "nodeType": "YulFunctionCall", - "src": "34767:18:26" + "src": "26655:18:14" }, "nodeType": "YulExpressionStatement", - "src": "34767:18:26" + "src": "26655:18:14" } ] }, @@ -18779,236 +15918,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "34759:1:26" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "34762:1:26" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "34756:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "34756:8:26" - }, - "nodeType": "YulIf", - "src": "34753:34:26" - }, - { - "nodeType": "YulAssignment", - "src": "34797:17:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "34809:1:26" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "34812:1:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "34805:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "34805:9:26" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "34797:4:26" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "34660:1:26", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "34663:1:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "34669:4:26", - "type": "" - } - ], - "src": "34629:191:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34870:261:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "34880:25:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "34903:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "34885:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "34885:20:26" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "34880:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "34914:25:26", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "34937:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "34919:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "34919:20:26" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "34914:1:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35077:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "35079:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "35079:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "35079:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "34998:1:26" + "src": "26574:1:14" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "35005:66:26", + "src": "26581:66:14", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "35073:1:26" + "src": "26649:1:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "35001:3:26" + "src": "26577:3:14" }, "nodeType": "YulFunctionCall", - "src": "35001:74:26" + "src": "26577:74:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "34995:2:26" + "src": "26571:2:14" }, "nodeType": "YulFunctionCall", - "src": "34995:81:26" + "src": "26571:81:14" }, "nodeType": "YulIf", - "src": "34992:107:26" + "src": "26568:107:14" }, { "nodeType": "YulAssignment", - "src": "35109:16:26", + "src": "26685:16:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "35120:1:26" + "src": "26696:1:14" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "35123:1:26" + "src": "26699:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35116:3:26" + "src": "26692:3:14" }, "nodeType": "YulFunctionCall", - "src": "35116:9:26" + "src": "26692:9:14" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "35109:3:26" + "src": "26685:3:14" } ] } @@ -19020,13 +15995,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "34857:1:26", + "src": "26433:1:14", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "34860:1:26", + "src": "26436:1:14", "type": "" } ], @@ -19034,16 +16009,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "34866:3:26", + "src": "26442:3:14", "type": "" } ], - "src": "34826:305:26" + "src": "26402:305:14" }, { "body": { "nodeType": "YulBlock", - "src": "35243:67:26", + "src": "26819:67:14", "statements": [ { "expression": { @@ -19053,12 +16028,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "35265:6:26" + "src": "26841:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35273:1:26", + "src": "26849:1:14", "type": "", "value": "0" } @@ -19066,614 +16041,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35261:3:26" + "src": "26837:3:14" }, "nodeType": "YulFunctionCall", - "src": "35261:14:26" + "src": "26837:14:14" }, { - "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "hexValue": "4578636565642074686520746f74616c20737570706c79", "kind": "string", "nodeType": "YulLiteral", - "src": "35277:25:26", + "src": "26853:25:14", "type": "", - "value": "AccessControl: account " + "value": "Exceed the total supply" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "35254:6:26" + "src": "26830:6:14" }, "nodeType": "YulFunctionCall", - "src": "35254:49:26" + "src": "26830:49:14" }, "nodeType": "YulExpressionStatement", - "src": "35254:49:26" + "src": "26830:49:14" } ] }, - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "35235:6:26", + "src": "26811:6:14", "type": "" } ], - "src": "35137:173:26" + "src": "26713:173:14" }, { "body": { "nodeType": "YulBlock", - "src": "35480:238:26", + "src": "27038:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "35490:92:26", + "src": "27048:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35574:3:26" + "src": "27114:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35579:2:26", + "src": "27119:2:14", "type": "", "value": "23" } ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "35497:76:26" - }, - "nodeType": "YulFunctionCall", - "src": "35497:85:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35490:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35680:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "nodeType": "YulIdentifier", - "src": "35591:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "35591:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "35591:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "35693:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35704:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35709:2:26", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35700:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "35700:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "35693:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35468:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "35476:3:26", - "type": "" - } - ], - "src": "35316:402:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35830:61:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "35852:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35860:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35848:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "35848:14:26" - }, - { - "hexValue": "206973206d697373696e6720726f6c6520", - "kind": "string", - "nodeType": "YulLiteral", - "src": "35864:19:26", - "type": "", - "value": " is missing role " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "35841:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "35841:43:26" - }, - "nodeType": "YulExpressionStatement", - "src": "35841:43:26" - } - ] - }, - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "35822:6:26", - "type": "" - } - ], - "src": "35724:167:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36061:238:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "36071:92:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36155:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36160:2:26", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36078:76:26" - }, - "nodeType": "YulFunctionCall", - "src": "36078:85:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36071:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36261:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulIdentifier", - "src": "36172:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "36172:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "36172:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "36274:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36285:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36290:2:26", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36281:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "36281:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "36274:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "36049:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "36057:3:26", - "type": "" - } - ], - "src": "35897:402:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36691:581:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "36702:155:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36853:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36709:142:26" - }, - "nodeType": "YulFunctionCall", - "src": "36709:148:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36702:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36867:102:26", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "36956:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36965:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36874:81:26" - }, - "nodeType": "YulFunctionCall", - "src": "36874:95:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36867:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36979:155:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37130:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36986:142:26" - }, - "nodeType": "YulFunctionCall", - "src": "36986:148:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36979:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "37144:102:26", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "37233:6:26" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37242:3:26" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "37151:81:26" - }, - "nodeType": "YulFunctionCall", - "src": "37151:95:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37144:3:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "37256:10:26", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37263:3:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "37256:3:26" - } - ] - } - ] - }, - "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": "36662:3:26", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "36668:6:26", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "36676:6:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "36687:3:26", - "type": "" - } - ], - "src": "36305:967:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37384:69:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "37406:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37414:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37402:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "37402:14:26" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "37418:27:26", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "37395:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "37395:51:26" - }, - "nodeType": "YulExpressionStatement", - "src": "37395:51:26" - } - ] - }, - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "37376:6:26", - "type": "" - } - ], - "src": "37278:175:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37605:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "37615:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37681:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37686:2:26", - "type": "", - "value": "25" - } - ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "37622:58:26" + "src": "27055:58:14" }, "nodeType": "YulFunctionCall", - "src": "37622:67:26" + "src": "27055:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37615:3:26" + "src": "27048:3:14" } ] }, @@ -19683,34 +16125,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37787:3:26" + "src": "27220:3:14" } ], "functionName": { - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "nodeType": "YulIdentifier", - "src": "37698:88:26" + "src": "27131:88:14" }, "nodeType": "YulFunctionCall", - "src": "37698:93:26" + "src": "27131:93:14" }, "nodeType": "YulExpressionStatement", - "src": "37698:93:26" + "src": "27131:93:14" }, { "nodeType": "YulAssignment", - "src": "37800:19:26", + "src": "27233:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37811:3:26" + "src": "27244:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37816:2:26", + "src": "27249:2:14", "type": "", "value": "32" } @@ -19718,28 +16160,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37807:3:26" + "src": "27240:3:14" }, "nodeType": "YulFunctionCall", - "src": "37807:12:26" + "src": "27240:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "37800:3:26" + "src": "27233:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "37593:3:26", + "src": "27026:3:14", "type": "" } ], @@ -19747,31 +16189,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "37601:3:26", + "src": "27034:3:14", "type": "" } ], - "src": "37459:366:26" + "src": "26892:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "38002:248:26", + "src": "27435:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "38012:26:26", + "src": "27445:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38024:9:26" + "src": "27457:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38035:2:26", + "src": "27468:2:14", "type": "", "value": "32" } @@ -19779,16 +16221,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38020:3:26" + "src": "27453:3:14" }, "nodeType": "YulFunctionCall", - "src": "38020:18:26" + "src": "27453:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38012:4:26" + "src": "27445:4:14" } ] }, @@ -19800,12 +16242,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38059:9:26" + "src": "27492:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38070:1:26", + "src": "27503:1:14", "type": "", "value": "0" } @@ -19813,80 +16255,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38055:3:26" + "src": "27488:3:14" }, "nodeType": "YulFunctionCall", - "src": "38055:17:26" + "src": "27488:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38078:4:26" + "src": "27511:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38084:9:26" + "src": "27517:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "38074:3:26" + "src": "27507:3:14" }, "nodeType": "YulFunctionCall", - "src": "38074:20:26" + "src": "27507:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38048:6:26" + "src": "27481:6:14" }, "nodeType": "YulFunctionCall", - "src": "38048:47:26" + "src": "27481:47:14" }, "nodeType": "YulExpressionStatement", - "src": "38048:47:26" + "src": "27481:47:14" }, { "nodeType": "YulAssignment", - "src": "38104:139:26", + "src": "27537:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38238:4:26" + "src": "27671:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38112:124:26" + "src": "27545:124:14" }, "nodeType": "YulFunctionCall", - "src": "38112:131:26" + "src": "27545:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38104:4:26" + "src": "27537:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "37982:9:26", + "src": "27415:9:14", "type": "" } ], @@ -19894,389 +16336,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "37997:4:26", + "src": "27430:4:14", "type": "" } ], - "src": "37831:419:26" + "src": "27264:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "38362:131:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "38384:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38392:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38380:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "38380:14:26" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "38396:34:26", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "38373:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "38373:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "38373:58:26" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "38452:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38460:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38448:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "38448:15:26" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "38465:20:26", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "38441:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "38441:45:26" - }, - "nodeType": "YulExpressionStatement", - "src": "38441:45:26" - } - ] - }, - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "38354:6:26", - "type": "" - } - ], - "src": "38256:237:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38645:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "38655:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38721:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38726:2:26", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "38662:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "38662:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38655:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38827:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulIdentifier", - "src": "38738:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "38738:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "38738:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "38840:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "38851:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38856:2:26", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38847:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "38847:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "38840:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "38633:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "38641:3:26", - "type": "" - } - ], - "src": "38499:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39042:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "39052:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39064:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39075:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39060:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39060:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "39052:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39099:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39110:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39095:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39095:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "39118:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39124:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "39114:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39114:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39088:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "39088:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "39088:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "39144:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "39278:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "39152:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "39152:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "39144:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "39022:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "39037:4:26", - "type": "" - } - ], - "src": "38871:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39324:152:26", + "src": "27717:152:14", "statements": [ { "expression": { @@ -20284,14 +16353,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "39341:1:26", + "src": "27734:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39344:77:26", + "src": "27737:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -20299,13 +16368,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39334:6:26" + "src": "27727:6:14" }, "nodeType": "YulFunctionCall", - "src": "39334:88:26" + "src": "27727:88:14" }, "nodeType": "YulExpressionStatement", - "src": "39334:88:26" + "src": "27727:88:14" }, { "expression": { @@ -20313,28 +16382,28 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "39438:1:26", + "src": "27831:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39441:4:26", + "src": "27834:4:14", "type": "", - "value": "0x12" + "value": "0x32" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39431:6:26" + "src": "27824:6:14" }, "nodeType": "YulFunctionCall", - "src": "39431:15:26" + "src": "27824:15:14" }, "nodeType": "YulExpressionStatement", - "src": "39431:15:26" + "src": "27824:15:14" }, { "expression": { @@ -20342,14 +16411,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "39462:1:26", + "src": "27855:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39465:4:26", + "src": "27858:4:14", "type": "", "value": "0x24" } @@ -20357,1248 +16426,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "39455:6:26" + "src": "27848:6:14" }, "nodeType": "YulFunctionCall", - "src": "39455:15:26" + "src": "27848:15:14" }, "nodeType": "YulExpressionStatement", - "src": "39455:15:26" + "src": "27848:15:14" } ] }, - "name": "panic_error_0x12", + "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "39296:180:26" + "src": "27689:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "39524:143:26", + "src": "27918:190:14", "statements": [ { "nodeType": "YulAssignment", - "src": "39534:25:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39557:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "39539:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "39539:20:26" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39534:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39568:25:26", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39591:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "39573:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "39573:20:26" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39568:1:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39615:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "39617:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "39617:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "39617:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39612:1:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "39605:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "39605:9:26" - }, - "nodeType": "YulIf", - "src": "39602:35:26" - }, - { - "nodeType": "YulAssignment", - "src": "39647:14:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39656:1:26" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39659:1:26" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "39652:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39652:9:26" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "39647:1:26" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "39513:1:26", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "39516:1:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "39522:1:26", - "type": "" - } - ], - "src": "39482:185:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39707:142:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "39717:25:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39740:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "39722:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "39722:20:26" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39717:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39751:25:26", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39774:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "39756:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "39756:20:26" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39751:1:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39798:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "39800:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "39800:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "39800:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39795:1:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "39788:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "39788:9:26" - }, - "nodeType": "YulIf", - "src": "39785:35:26" - }, - { - "nodeType": "YulAssignment", - "src": "39829:14:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "39838:1:26" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "39841:1:26" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "39834:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39834:9:26" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "39829:1:26" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "39696:1:26", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "39699:1:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "39705:1:26", - "type": "" - } - ], - "src": "39673:176:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39961:76:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "39983:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39991:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39979:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "39979:14:26" - }, - { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "39995:34:26", - "type": "", - "value": "ERC721: mint to the zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39972:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "39972:58:26" - }, - "nodeType": "YulExpressionStatement", - "src": "39972:58:26" - } - ] - }, - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "39953:6:26", - "type": "" - } - ], - "src": "39855:182:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "40189:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "40199:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40265:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40270:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "40206:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "40206:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40199:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40371:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "nodeType": "YulIdentifier", - "src": "40282:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "40282:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "40282:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "40384:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40395:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40400:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40391:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "40391:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "40384:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "40177:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "40185:3:26", - "type": "" - } - ], - "src": "40043:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "40586:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "40596:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40608:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40619:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40604:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "40604:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "40596:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40643:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40654:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40639:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "40639:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "40662:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40668:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "40658:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "40658:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40632:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "40632:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "40632:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "40688:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "40822:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "40696:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "40696:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "40688:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "40566:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "40581:4:26", - "type": "" - } - ], - "src": "40415:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "40946:72:26", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "40968:6:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40976:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40964:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "40964:14:26" - }, - { - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "kind": "string", - "nodeType": "YulLiteral", - "src": "40980:30:26", - "type": "", - "value": "ERC721: token already minted" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40957:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "40957:54:26" - }, - "nodeType": "YulExpressionStatement", - "src": "40957:54:26" - } - ] - }, - "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "40938:6:26", - "type": "" - } - ], - "src": "40840:178:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41170:220:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41180:74:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41246:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41251:2:26", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "41187:58:26" - }, - "nodeType": "YulFunctionCall", - "src": "41187:67:26" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41180:3:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41352:3:26" - } - ], - "functionName": { - "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "nodeType": "YulIdentifier", - "src": "41263:88:26" - }, - "nodeType": "YulFunctionCall", - "src": "41263:93:26" - }, - "nodeType": "YulExpressionStatement", - "src": "41263:93:26" - }, - { - "nodeType": "YulAssignment", - "src": "41365:19:26", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41376:3:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41381:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41372:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "41372:12:26" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "41365:3:26" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "41158:3:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "41166:3:26", - "type": "" - } - ], - "src": "41024:366:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41567:248:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41577:26:26", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41589:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41600:2:26", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41585:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "41585:18:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "41577:4:26" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41624:9:26" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41635:1:26", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41620:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "41620:17:26" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "41643:4:26" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41649:9:26" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "41639:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "41639:20:26" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41613:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "41613:47:26" - }, - "nodeType": "YulExpressionStatement", - "src": "41613:47:26" - }, - { - "nodeType": "YulAssignment", - "src": "41669:139:26", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "41803:4:26" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "41677:124:26" - }, - "nodeType": "YulFunctionCall", - "src": "41677:131:26" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "41669:4:26" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "41547:9:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "41562:4:26", - "type": "" - } - ], - "src": "41396:419:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41869:300:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41879:25:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "41902:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "41884:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "41884:20:26" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "41879:1:26" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "41913:25:26", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "41936:1:26" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "41918:17:26" - }, - "nodeType": "YulFunctionCall", - "src": "41918:20:26" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "41913:1:26" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42111:22:26", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "42113:16:26" - }, - "nodeType": "YulFunctionCall", - "src": "42113:18:26" - }, - "nodeType": "YulExpressionStatement", - "src": "42113:18:26" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "42023:1:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "42016:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "42016:9:26" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "42009:6:26" - }, - "nodeType": "YulFunctionCall", - "src": "42009:17:26" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "42031:1:26" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42038:66:26", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "42106:1:26" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "42034:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "42034:74:26" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "42028:2:26" - }, - "nodeType": "YulFunctionCall", - "src": "42028:81:26" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "42005:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "42005:105:26" - }, - "nodeType": "YulIf", - "src": "42002:131:26" - }, - { - "nodeType": "YulAssignment", - "src": "42143:20:26", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "42158:1:26" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "42161:1:26" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "42154:3:26" - }, - "nodeType": "YulFunctionCall", - "src": "42154:9:26" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "42143:7:26" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "41852:1:26", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "41855:1:26", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "41861:7:26", - "type": "" - } - ], - "src": "41821:348:26" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42218:128:26", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "42228:33:26", + "src": "27928:33:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "42255:5:26" + "src": "27955:5:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "42237:17:26" + "src": "27937:17:14" }, "nodeType": "YulFunctionCall", - "src": "42237:24:26" + "src": "27937:24:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "42228:5:26" + "src": "27928:5:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "42289:22:26", + "src": "28051:22:14", "statements": [ { "expression": { @@ -21606,13 +16483,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "42291:16:26" + "src": "28053:16:14" }, "nodeType": "YulFunctionCall", - "src": "42291:18:26" + "src": "28053:18:14" }, "nodeType": "YulExpressionStatement", - "src": "42291:18:26" + "src": "28053:18:14" } ] }, @@ -21621,70 +16498,70 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "42276:5:26" + "src": "27976:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "42283:4:26", + "src": "27983:66:14", "type": "", - "value": "0x00" + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "42273:2:26" + "src": "27973:2:14" }, "nodeType": "YulFunctionCall", - "src": "42273:15:26" + "src": "27973:77:14" }, "nodeType": "YulIf", - "src": "42270:41:26" + "src": "27970:103:14" }, { "nodeType": "YulAssignment", - "src": "42320:20:26", + "src": "28082:20:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "42331:5:26" + "src": "28093:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "42338:1:26", + "src": "28100:1:14", "type": "", "value": "1" } ], "functionName": { - "name": "sub", + "name": "add", "nodeType": "YulIdentifier", - "src": "42327:3:26" + "src": "28089:3:14" }, "nodeType": "YulFunctionCall", - "src": "42327:13:26" + "src": "28089:13:14" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "42320:3:26" + "src": "28082:3:14" } ] } ] }, - "name": "decrement_t_uint256", + "name": "increment_t_uint256", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", "nodeType": "YulTypedName", - "src": "42204:5:26", + "src": "27904:5:14", "type": "" } ], @@ -21692,16 +16569,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "42214:3:26", + "src": "27914:3:14", "type": "" } ], - "src": "42175:171:26" + "src": "27875:233:14" }, { "body": { "nodeType": "YulBlock", - "src": "42458:76:26", + "src": "28220:125:14", "statements": [ { "expression": { @@ -21711,12 +16588,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "42480:6:26" + "src": "28242:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "42488:1:26", + "src": "28250:1:14", "type": "", "value": "0" } @@ -21724,81 +16601,127 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "42476:3:26" + "src": "28238:3:14" }, "nodeType": "YulFunctionCall", - "src": "42476:14:26" + "src": "28238:14:14" }, { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", "kind": "string", "nodeType": "YulLiteral", - "src": "42492:34:26", + "src": "28254:34:14", "type": "", - "value": "Strings: hex length insufficient" + "value": "ERC721Enumerable: global index o" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "42469:6:26" + "src": "28231:6:14" }, "nodeType": "YulFunctionCall", - "src": "42469:58:26" + "src": "28231:58:14" }, "nodeType": "YulExpressionStatement", - "src": "42469:58:26" + "src": "28231:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28310:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28318:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28306:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28306:15:14" + }, + { + "hexValue": "7574206f6620626f756e6473", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28323:14:14", + "type": "", + "value": "ut of bounds" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28299:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28299:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28299:39:14" } ] }, - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "42450:6:26", + "src": "28212:6:14", "type": "" } ], - "src": "42352:182:26" + "src": "28114:231:14" }, { "body": { "nodeType": "YulBlock", - "src": "42686:220:26", + "src": "28497:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "42696:74:26", + "src": "28507:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "42762:3:26" + "src": "28573:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "42767:2:26", + "src": "28578:2:14", "type": "", - "value": "32" + "value": "44" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "42703:58:26" + "src": "28514:58:14" }, "nodeType": "YulFunctionCall", - "src": "42703:67:26" + "src": "28514:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "42696:3:26" + "src": "28507:3:14" } ] }, @@ -21808,63 +16731,63 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "42868:3:26" + "src": "28679:3:14" } ], "functionName": { - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulIdentifier", - "src": "42779:88:26" + "src": "28590:88:14" }, "nodeType": "YulFunctionCall", - "src": "42779:93:26" + "src": "28590:93:14" }, "nodeType": "YulExpressionStatement", - "src": "42779:93:26" + "src": "28590:93:14" }, { "nodeType": "YulAssignment", - "src": "42881:19:26", + "src": "28692:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "42892:3:26" + "src": "28703:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "42897:2:26", + "src": "28708:2:14", "type": "", - "value": "32" + "value": "64" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "42888:3:26" + "src": "28699:3:14" }, "nodeType": "YulFunctionCall", - "src": "42888:12:26" + "src": "28699:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "42881:3:26" + "src": "28692:3:14" } ] } ] }, - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "42674:3:26", + "src": "28485:3:14", "type": "" } ], @@ -21872,31 +16795,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "42682:3:26", + "src": "28493:3:14", "type": "" } ], - "src": "42540:366:26" + "src": "28351:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "43083:248:26", + "src": "28894:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "43093:26:26", + "src": "28904:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43105:9:26" + "src": "28916:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43116:2:26", + "src": "28927:2:14", "type": "", "value": "32" } @@ -21904,16 +16827,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43101:3:26" + "src": "28912:3:14" }, "nodeType": "YulFunctionCall", - "src": "43101:18:26" + "src": "28912:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43093:4:26" + "src": "28904:4:14" } ] }, @@ -21925,12 +16848,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43140:9:26" + "src": "28951:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43151:1:26", + "src": "28962:1:14", "type": "", "value": "0" } @@ -21938,80 +16861,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43136:3:26" + "src": "28947:3:14" }, "nodeType": "YulFunctionCall", - "src": "43136:17:26" + "src": "28947:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43159:4:26" + "src": "28970:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "43165:9:26" + "src": "28976:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "43155:3:26" + "src": "28966:3:14" }, "nodeType": "YulFunctionCall", - "src": "43155:20:26" + "src": "28966:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "43129:6:26" + "src": "28940:6:14" }, "nodeType": "YulFunctionCall", - "src": "43129:47:26" + "src": "28940:47:14" }, "nodeType": "YulExpressionStatement", - "src": "43129:47:26" + "src": "28940:47:14" }, { "nodeType": "YulAssignment", - "src": "43185:139:26", + "src": "28996:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43319:4:26" + "src": "29130:4:14" } ], "functionName": { - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "43193:124:26" + "src": "29004:124:14" }, "nodeType": "YulFunctionCall", - "src": "43193:131:26" + "src": "29004:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "43185:4:26" + "src": "28996:4:14" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "43063:9:26", + "src": "28874:9:14", "type": "" } ], @@ -22019,145 +16942,1821 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "43078:4:26", + "src": "28889:4:14", "type": "" } ], - "src": "42912:419:26" + "src": "28723:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "43395:40:26", + "src": "29254:65:14", "statements": [ { - "nodeType": "YulAssignment", - "src": "43406:22:26", - "value": { + "expression": { "arguments": [ { - "name": "value", - "nodeType": "YulIdentifier", - "src": "43422:5:26" + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29276:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29284:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29272:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29272:14:14" + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29288:23:14", + "type": "", + "value": "Must be valid tokenId" } ], "functionName": { - "name": "mload", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "43416:5:26" + "src": "29265:6:14" }, "nodeType": "YulFunctionCall", - "src": "43416:12:26" + "src": "29265:47:14" }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "43406:6:26" - } - ] + "nodeType": "YulExpressionStatement", + "src": "29265:47:14" } ] }, - "name": "array_length_t_bytes_memory_ptr", + "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "value", + "name": "memPtr", "nodeType": "YulTypedName", - "src": "43378:5:26", + "src": "29246:6:14", "type": "" } ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "43388:6:26", - "type": "" - } - ], - "src": "43337:98:26" + "src": "29148:171:14" }, { "body": { "nodeType": "YulBlock", - "src": "43536:73:26", + "src": "29471:220:14", "statements": [ + { + "nodeType": "YulAssignment", + "src": "29481:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29547:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29552:2:14", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29488:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "29488:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29481:3:14" + } + ] + }, { "expression": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43553:3:26" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "43558:6:26" + "src": "29653:3:14" } ], "functionName": { - "name": "mstore", + "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "nodeType": "YulIdentifier", - "src": "43546:6:26" + "src": "29564:88:14" }, "nodeType": "YulFunctionCall", - "src": "43546:19:26" + "src": "29564:93:14" }, "nodeType": "YulExpressionStatement", - "src": "43546:19:26" + "src": "29564:93:14" }, { "nodeType": "YulAssignment", - "src": "43574:29:26", + "src": "29666:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43593:3:26" + "src": "29677:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43598:4:26", + "src": "29682:2:14", "type": "", - "value": "0x20" + "value": "32" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43589:3:26" + "src": "29673:3:14" }, "nodeType": "YulFunctionCall", - "src": "43589:14:26" + "src": "29673:12:14" }, "variableNames": [ { - "name": "updated_pos", + "name": "end", "nodeType": "YulIdentifier", - "src": "43574:11:26" + "src": "29666:3:14" } ] } ] }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "43508:3:26", + "src": "29459:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "29467:3:14", + "type": "" + } + ], + "src": "29325:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29868:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29878:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29890:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29901:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29886:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29886:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29878:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29925:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29936:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29921:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29921:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29944:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29950:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29940:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29940:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29914:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29914:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29914:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "29970:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30104:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29978:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "29978:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29970:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29848:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29863:4:14", + "type": "" + } + ], + "src": "29697:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30228:70:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30250:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30258:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30246:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30246:14:14" + }, + { + "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30262:28:14", + "type": "", + "value": "Token has already unlocked" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30239:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30239:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30239:52:14" + } + ] + }, + "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30220:6:14", + "type": "" + } + ], + "src": "30122:176:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30450:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30460:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30526:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30531:2:14", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30467:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "30467:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30460:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30632:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", + "nodeType": "YulIdentifier", + "src": "30543:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "30543:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30543:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "30645:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "30656:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30661:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30652:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30652:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30645:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "30438:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30446:3:14", + "type": "" + } + ], + "src": "30304:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30847:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30857:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30869:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30880:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30865:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30865:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30857:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30904:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30915:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30900:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30900:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30923:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30929:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "30919:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30919:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30893:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30893:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30893:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "30949:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31083:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "30957:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "30957:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30949:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30827:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30842:4:14", + "type": "" + } + ], + "src": "30676:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31207:122:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31229:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31237:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31225:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31225:14:14" + }, + { + "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31241:34:14", + "type": "", + "value": "ERC721: owner query for nonexist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31218:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31218:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31218:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31297:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31305:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31293:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31293:15:14" + }, + { + "hexValue": "656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31310:11:14", + "type": "", + "value": "ent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31286:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31286:36:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31286:36:14" + } + ] + }, + "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31199:6:14", + "type": "" + } + ], + "src": "31101:228:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31481:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31491:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31557:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31562:2:14", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31498:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "31498:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31491:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31663:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "nodeType": "YulIdentifier", + "src": "31574:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "31574:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31574:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "31676:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "31687:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31692:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31683:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31683:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31676:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "31469:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "31477:3:14", + "type": "" + } + ], + "src": "31335:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31878:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "31888:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31900:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31911:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31896:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31896:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31888:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31935:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31946:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31931:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31931:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31954:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31960:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31950:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31950:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31924:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31924:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31924:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "31980:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32114:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "31988:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "31988:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31980:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31858:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31873:4:14", + "type": "" + } + ], + "src": "31707:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32238:123:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32260:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32268:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32256:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32256:14:14" + }, + { + "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32272:34:14", + "type": "", + "value": "ERC721: balance query for the ze" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32249:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32249:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32249:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "32328:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32336:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32324:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32324:15:14" + }, + { + "hexValue": "726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32341:12:14", + "type": "", + "value": "ro address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32317:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32317:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32317:37:14" + } + ] + }, + "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "32230:6:14", + "type": "" + } + ], + "src": "32132:229:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32513:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32523:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32589:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32594:2:14", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "32530:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "32530:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32523:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32695:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", + "nodeType": "YulIdentifier", + "src": "32606:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "32606:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32606:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "32708:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "32719:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32724:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32715:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32715:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "32708:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "32501:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "32509:3:14", + "type": "" + } + ], + "src": "32367:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32910:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "32920:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32932:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32943:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32928:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32928:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32920:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32967:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32978:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32963:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32963:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32986:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32992:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "32982:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "32982:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32956:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32956:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32956:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "33012:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33146:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33020:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "33020:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33012:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32890:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32905:4:14", + "type": "" + } + ], + "src": "32739:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33270:128:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33292:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33300:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33288:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33288:14:14" + }, + { + "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33304:34:14", + "type": "", + "value": "ERC721Metadata: URI query for no" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33281:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33281:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33281:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "33360:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33368:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33356:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33356:15:14" + }, + { + "hexValue": "6e6578697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33373:17:14", + "type": "", + "value": "nexistent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33349:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33349:42:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33349:42:14" + } + ] + }, + "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "33262:6:14", + "type": "" + } + ], + "src": "33164:234:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33550:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33560:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33626:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33631:2:14", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "33567:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "33567:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33560:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33732:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "nodeType": "YulIdentifier", + "src": "33643:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "33643:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33643:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "33745:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "33756:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33761:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33752:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33752:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "33745:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "33538:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "33546:3:14", + "type": "" + } + ], + "src": "33404:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33947:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33957:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33969:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33980:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33965:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "33965:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33957:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34004:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34015:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34000:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34000:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34023:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34029:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "34019:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34019:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33993:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33993:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33993:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "34049:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34183:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "34057:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "34057:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34049:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33927:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33942:4:14", + "type": "" + } + ], + "src": "33776:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34315:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34325:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34340:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "34325:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34287:3:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "43513:6:26", + "src": "34292:6:14", "type": "" } ], @@ -22165,74 +18764,74 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "43524:11:26", + "src": "34303:11:14", "type": "" } ], - "src": "43441:168:26" + "src": "34201:148:14" }, { "body": { "nodeType": "YulBlock", - "src": "43705:270:26", + "src": "34465:267:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "43715:52:26", + "src": "34475:53:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "43761:5:26" + "src": "34522:5:14" } ], "functionName": { - "name": "array_length_t_bytes_memory_ptr", + "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "43729:31:26" + "src": "34489:32:14" }, "nodeType": "YulFunctionCall", - "src": "43729:38:26" + "src": "34489:39:14" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "43719:6:26", + "src": "34479:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "43776:77:26", + "src": "34537:96:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43841:3:26" + "src": "34621:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "43846:6:26" + "src": "34626:6:14" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "43783:57:26" + "src": "34544:76:14" }, "nodeType": "YulFunctionCall", - "src": "43783:70:26" + "src": "34544:89:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43776:3:26" + "src": "34537:3:14" } ] }, @@ -22244,12 +18843,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "43888:5:26" + "src": "34668:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "43895:4:26", + "src": "34675:4:14", "type": "", "value": "0x20" } @@ -22257,73 +18856,4779 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43884:3:26" + "src": "34664:3:14" }, "nodeType": "YulFunctionCall", - "src": "43884:16:26" + "src": "34664:16:14" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "43902:3:26" + "src": "34682:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "43907:6:26" + "src": "34687:6:14" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "43862:21:26" + "src": "34642:21:14" }, "nodeType": "YulFunctionCall", - "src": "43862:52:26" + "src": "34642:52:14" }, "nodeType": "YulExpressionStatement", - "src": "43862:52:26" + "src": "34642:52:14" }, { "nodeType": "YulAssignment", - "src": "43923:46:26", + "src": "34703:23:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "43934:3:26" + "src": "34714:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "34719:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34710:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "34710:16:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "34703:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "34446:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "34453:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34461:3:14", + "type": "" + } + ], + "src": "34355:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34922:251:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34933:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "35022:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35031:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "34940:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "34940:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "34933:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "35045:102:14", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "35134:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35143:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "35052:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "35052:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35045:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "35157:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35164:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35157:3:14" + } + ] + } + ] + }, + "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": "34893:3:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "34899:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "34907:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "34918:3:14", + "type": "" + } + ], + "src": "34738:435:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35285:68:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "35307:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35315:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35303:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35303:14:14" + }, + { + "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "35319:26:14", + "type": "", + "value": "Token has already locked" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35296:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35296:50:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35296:50:14" + } + ] + }, + "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "35277:6:14", + "type": "" + } + ], + "src": "35179:174:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35505:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35515:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35581:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35586:2:14", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "35522:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "35522:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35515:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35687:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", + "nodeType": "YulIdentifier", + "src": "35598:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "35598:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35598:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "35700:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "35711:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35716:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35707:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35707:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "35700:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "35493:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "35501:3:14", + "type": "" + } + ], + "src": "35359:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35902:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35912:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35924:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35935:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35920:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35920:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35912:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35959:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35970:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35955:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35955:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "35978:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "35984:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35974:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "35974:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35948:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "35948:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "35948:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "36004:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36138:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36012:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "36012:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36004:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "35882:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "35897:4:14", + "type": "" + } + ], + "src": "35731:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36262:125:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36284:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36292:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36280:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36280:14:14" + }, + { + "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36296:34:14", + "type": "", + "value": "ERC721: operator query for nonex" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36273:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "36273:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36273:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "36352:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36360:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36348:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36348:15:14" + }, + { + "hexValue": "697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "36365:14:14", + "type": "", + "value": "istent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36341:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "36341:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36341:39:14" + } + ] + }, + "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "36254:6:14", + "type": "" + } + ], + "src": "36156:231:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36539:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36549:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36615:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36620:2:14", + "type": "", + "value": "44" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "36556:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "36556:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36549:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36721:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", + "nodeType": "YulIdentifier", + "src": "36632:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "36632:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36632:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "36734:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36745:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36750:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36741:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36741:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "36734:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "36527:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "36535:3:14", + "type": "" + } + ], + "src": "36393:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36936:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "36946:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36958:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36969:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36954:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36954:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "36946:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "36993:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37004:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "36989:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "36989:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37012:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37018:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "37008:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37008:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36982:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "36982:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "36982:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "37038:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37172:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37046:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "37046:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37038:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "36916:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "36931:4:14", + "type": "" + } + ], + "src": "36765:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37296:118:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37318:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37326:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37314:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37314:14:14" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37330:34:14", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37307:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "37307:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37307:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37386:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37394:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37382:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37382:15:14" + }, + { + "hexValue": "6f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37399:7:14", + "type": "", + "value": "owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37375:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "37375:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37375:32:14" + } + ] + }, + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37288:6:14", + "type": "" + } + ], + "src": "37190:224:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37566:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37576:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37642:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37647:2:14", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "37583:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "37583:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37576:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37748:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", + "nodeType": "YulIdentifier", + "src": "37659:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "37659:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "37659:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "37761:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37772:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37777:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37768:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37768:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37761:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37554:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37562:3:14", + "type": "" + } + ], + "src": "37420:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37963:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37973:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "37985:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37996:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37981:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "37981:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "37973:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38020:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38031:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38016:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38016:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38039:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "38045:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "38035:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38035:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38009:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38009:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38009:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "38065:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38199:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38073:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "38073:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38065:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "37943:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "37958:4:14", + "type": "" + } + ], + "src": "37792:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38323:117:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38345:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38353:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38341:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38341:14:14" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38357:34:14", + "type": "", + "value": "ERC721: transfer to the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38334:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38334:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38334:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38413:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38421:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38409:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38409:15:14" + }, + { + "hexValue": "72657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38426:6:14", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38402:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38402:31:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38402:31:14" + } + ] + }, + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38315:6:14", + "type": "" + } + ], + "src": "38217:223:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38592:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38602:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38668:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38673:2:14", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "38609:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "38609:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38602:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38774:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "nodeType": "YulIdentifier", + "src": "38685:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "38685:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38685:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "38787:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38798:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38803:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38794:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38794:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38787:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38580:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38588:3:14", + "type": "" + } + ], + "src": "38446:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38989:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38999:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39011:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39022:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39007:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39007:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "38999:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39046:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39057:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39042:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39042:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39065:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "39071:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39061:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39061:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39035:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "39035:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39035:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "39091:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39225:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39099:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "39099:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "39091:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "38969:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "38984:4:14", + "type": "" + } + ], + "src": "38818:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39288:146:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39298:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "39321:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "39303:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "39303:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "39298:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39332:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "39355:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "39337:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "39337:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "39332:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39379:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "39381:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "39381:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39381:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "39373:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "39376:1:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "39370:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "39370:8:14" + }, + "nodeType": "YulIf", + "src": "39367:34:14" + }, + { + "nodeType": "YulAssignment", + "src": "39411:17:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "39423:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "39426:1:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "39419:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39419:9:14" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "39411:4:14" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "39274:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "39277:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "39283:4:14", + "type": "" + } + ], + "src": "39243:191:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39546:67:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "39568:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39576:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39564:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "39564:14:14" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "39580:25:14", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39557:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "39557:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39557:49:14" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "39538:6:14", + "type": "" + } + ], + "src": "39440:173:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39783:238:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39793:92:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39877:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39882:2:14", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39800:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "39800:85:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39793:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39983:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "39894:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "39894:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "39894:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "39996:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40007:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40012:2:14", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40003:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40003:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39996:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39771:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39779:3:14", + "type": "" + } + ], + "src": "39619:402:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40133:61:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40155:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40163:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40151:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40151:14:14" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40167:19:14", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40144:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "40144:43:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40144:43:14" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40125:6:14", + "type": "" + } + ], + "src": "40027:167:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40364:238:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40374:92:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40458:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40463:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "40381:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "40381:85:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40374:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40564:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "40475:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "40475:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40475:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "40577:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40588:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40593:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40584:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40584:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40577:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40352:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40360:3:14", + "type": "" + } + ], + "src": "40200:402:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40994:581:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41005:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41156:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41012:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "41012:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41005:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41170:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "41259:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41268:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41177:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "41177:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41170:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41282:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41433:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41289:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "41289:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41282:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41447:102:14", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "41536:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41545:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "41454:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "41454:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41447:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "41559:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41566:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41559: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": "40965:3:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "40971:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "40979:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40990:3:14", + "type": "" + } + ], + "src": "40608:967:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41687:69:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41709:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41717:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41705:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41705:14:14" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41721:27:14", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41698:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "41698:51:14" + }, + "nodeType": "YulExpressionStatement", + "src": "41698:51:14" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "41679:6:14", + "type": "" + } + ], + "src": "41581:175:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41908:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41918:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41984:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41989:2:14", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41925:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "41925:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41918:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42090:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "42001:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "42001:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42001:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "42103:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42114:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42119:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42110:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42110:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42103:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41896:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41904:3:14", + "type": "" + } + ], + "src": "41762:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42305:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42315:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42327:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42338:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42323:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42323:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42315:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42362:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42373:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42358:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42358:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42381:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42387:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42377:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42377:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42351:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "42351:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42351:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "42407:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42541:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42415:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "42415:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42407:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42285:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42300:4:14", + "type": "" + } + ], + "src": "42134:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42665:131:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42687:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42695:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42683:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42683:14:14" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42699:34:14", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42676:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "42676:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42676:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42755:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42763:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42751:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42751:15:14" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42768:20:14", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42744:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "42744:45:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42744:45:14" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "42657:6:14", + "type": "" + } + ], + "src": "42559:237:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42948:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42958:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43024:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43029:2:14", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42965:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "42965:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42958:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43130:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "43041:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "43041:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43041:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "43143:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43154:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43159:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43150:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43150:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "43143:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42936:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42944:3:14", + "type": "" + } + ], + "src": "42802:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43345:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43355:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43367:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43378:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43363:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43363:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43355:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43402:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43413:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43398:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43398:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43421:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43427:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43417:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43417:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43391:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43391:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43391:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "43447:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43581:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43455:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "43455:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43447:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43325:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43340:4:14", + "type": "" + } + ], + "src": "43174:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43627:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43644:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43647:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43637:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43637:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43637:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43741:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43744:4:14", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43734:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43734:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43734:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43765:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43768:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "43758:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43758:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43758:15:14" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "43599:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43827:143:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43837:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43860:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43842:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "43842:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43837:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43871:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43894:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43876:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "43876:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43871:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43918:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "43920:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "43920:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43920:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43915:1:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43908:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43908:9:14" + }, + "nodeType": "YulIf", + "src": "43905:35:14" + }, + { + "nodeType": "YulAssignment", + "src": "43950:14:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43959:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43962:1:14" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "43955:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43955:9:14" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "43950:1:14" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "43816:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "43819:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "43825:1:14", + "type": "" + } + ], + "src": "43785:185:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44010:142:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44020:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44043:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "44025:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "44025:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44020:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44054:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44077:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "44059:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "44059:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44054:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44101:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "44103:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "44103:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44103:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44098:1:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "44091:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "44091:9:14" + }, + "nodeType": "YulIf", + "src": "44088:35:14" + }, + { + "nodeType": "YulAssignment", + "src": "44132:14:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "44141:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "44144:1:14" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "44137:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44137:9:14" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "44132:1:14" + } + ] + } + ] + }, + "name": "mod_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "43999:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "44002:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "44008:1:14", + "type": "" + } + ], + "src": "43976:176:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44264:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "44286:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44294:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44282:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44282:14:14" + }, + { + "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "44298:31:14", + "type": "", + "value": "Can not transfer locked token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44275:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "44275:55:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44275:55:14" + } + ] + }, + "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "44256:6:14", + "type": "" + } + ], + "src": "44158:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44489:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44499:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44565:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44570:2:14", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44506:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "44506:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44499:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44671:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "nodeType": "YulIdentifier", + "src": "44582:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "44582:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44582:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "44684:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44695:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44700:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44691:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44691:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44684:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44477:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "44485:3:14", + "type": "" + } + ], + "src": "44343:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44886:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44896:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44908:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44919:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44904:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44904:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44896:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44943:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44954:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44939:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44939:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44962:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44968:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44958:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44958:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44932:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "44932:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44932:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "44988:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "45122:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44996:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "44996:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44988:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44866:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44881:4:14", + "type": "" + } + ], + "src": "44715:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45188:300:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45198:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45221:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45203:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "45203:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45198:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45232:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45255:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45237:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "45237:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45232:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45430:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45432:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "45432:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "45432:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45342:1:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "45335:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "45335:9:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "45328:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "45328:17:14" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45350:1:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45357:66:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45425:1:14" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "45353:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45353:74:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "45347:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "45347:81:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "45324:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45324:105:14" + }, + "nodeType": "YulIf", + "src": "45321:131:14" + }, + { + "nodeType": "YulAssignment", + "src": "45462:20:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45477:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45480:1:14" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "45473:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45473:9:14" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "45462:7:14" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "45171:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "45174:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "45180:7:14", + "type": "" + } + ], + "src": "45140:348:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45537:128:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45547:33:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45574:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45556:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "45556:24:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45547:5:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45608:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45610:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "45610:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "45610:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45595:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45602:4:14", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "45592:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "45592:15:14" + }, + "nodeType": "YulIf", + "src": "45589:41:14" + }, + { + "nodeType": "YulAssignment", + "src": "45639:20:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45650:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45657:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45646:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45646:13:14" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "45639:3:14" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "45523:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "45533:3:14", + "type": "" + } + ], + "src": "45494:171:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45777:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "45799:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45807:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45795:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45795:14:14" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "45811:34:14", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "45788:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "45788:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "45788:58:14" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "45769:6:14", + "type": "" + } + ], + "src": "45671:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46005:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46015:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46081:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46086:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46022:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "46022:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46015:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46187:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "46098:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "46098:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "46098:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "46200:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46211:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46216:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46207:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "46207:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "46200:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "45993:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "46001:3:14", + "type": "" + } + ], + "src": "45859:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46402:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46412:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46424:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46435:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46420:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "46420:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46412:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46459:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46470:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46455:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "46455:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46478:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "46484:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "46474:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "46474:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46448:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "46448:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "46448:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "46504:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46638:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "46512:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "46512:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "46504:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "46382:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "46397:4:14", + "type": "" + } + ], + "src": "46231:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46714:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "46725:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "46741:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "46735:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "46735:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "46725:6:14" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "46697:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "46707:6:14", + "type": "" + } + ], + "src": "46656:98:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "46855:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46872:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "46877:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "46865:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "46865:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "46865:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "46893:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "46912:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "46917:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "46908:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "46908:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "46893:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "46827:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "46832:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "46843:11:14", + "type": "" + } + ], + "src": "46760:168:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "47024:270:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "47034:52:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "47080:5:14" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "47048:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "47048:38:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "47038:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "47095:77:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47160:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "47165:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "47102:57:14" + }, + "nodeType": "YulFunctionCall", + "src": "47102:70:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47095:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "47207:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "47214:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "47203:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "47203:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47221:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "47226:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "47181:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "47181:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "47181:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "47242:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "47253:3:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "43961:6:26" + "src": "47280:6:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "43939:21:26" + "src": "47258:21:14" }, "nodeType": "YulFunctionCall", - "src": "43939:29:26" + "src": "47258:29:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "43930:3:26" + "src": "47249:3:14" }, "nodeType": "YulFunctionCall", - "src": "43930:39:26" + "src": "47249:39:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "43923:3:26" + "src": "47242:3:14" } ] } @@ -22335,13 +23640,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "43686:5:26", + "src": "47005:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "43693:3:26", + "src": "47012:3:14", "type": "" } ], @@ -22349,31 +23654,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "43701:3:26", + "src": "47020:3:14", "type": "" } ], - "src": "43615:360:26" + "src": "46934:360:14" }, { "body": { "nodeType": "YulBlock", - "src": "44181:440:26", + "src": "47500:440:14", "statements": [ { "nodeType": "YulAssignment", - "src": "44191:27:26", + "src": "47510:27:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44203:9:26" + "src": "47522:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44214:3:26", + "src": "47533:3:14", "type": "", "value": "128" } @@ -22381,16 +23686,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44199:3:26" + "src": "47518:3:14" }, "nodeType": "YulFunctionCall", - "src": "44199:19:26" + "src": "47518:19:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44191:4:26" + "src": "47510:4:14" } ] }, @@ -22400,19 +23705,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "44272:6:26" + "src": "47591:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44285:9:26" + "src": "47604:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44296:1:26", + "src": "47615:1:14", "type": "", "value": "0" } @@ -22420,22 +23725,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44281:3:26" + "src": "47600:3:14" }, "nodeType": "YulFunctionCall", - "src": "44281:17:26" + "src": "47600:17:14" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "44228:43:26" + "src": "47547:43:14" }, "nodeType": "YulFunctionCall", - "src": "44228:71:26" + "src": "47547:71:14" }, "nodeType": "YulExpressionStatement", - "src": "44228:71:26" + "src": "47547:71:14" }, { "expression": { @@ -22443,19 +23748,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "44353:6:26" + "src": "47672:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44366:9:26" + "src": "47685:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44377:2:26", + "src": "47696:2:14", "type": "", "value": "32" } @@ -22463,22 +23768,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44362:3:26" + "src": "47681:3:14" }, "nodeType": "YulFunctionCall", - "src": "44362:18:26" + "src": "47681:18:14" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "44309:43:26" + "src": "47628:43:14" }, "nodeType": "YulFunctionCall", - "src": "44309:72:26" + "src": "47628:72:14" }, "nodeType": "YulExpressionStatement", - "src": "44309:72:26" + "src": "47628:72:14" }, { "expression": { @@ -22486,19 +23791,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "44435:6:26" + "src": "47754:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44448:9:26" + "src": "47767:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44459:2:26", + "src": "47778:2:14", "type": "", "value": "64" } @@ -22506,22 +23811,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44444:3:26" + "src": "47763:3:14" }, "nodeType": "YulFunctionCall", - "src": "44444:18:26" + "src": "47763:18:14" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "44391:43:26" + "src": "47710:43:14" }, "nodeType": "YulFunctionCall", - "src": "44391:72:26" + "src": "47710:72:14" }, "nodeType": "YulExpressionStatement", - "src": "44391:72:26" + "src": "47710:72:14" }, { "expression": { @@ -22531,12 +23836,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44484:9:26" + "src": "47803:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44495:2:26", + "src": "47814:2:14", "type": "", "value": "96" } @@ -22544,73 +23849,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "44480:3:26" + "src": "47799:3:14" }, "nodeType": "YulFunctionCall", - "src": "44480:18:26" + "src": "47799:18:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44504:4:26" + "src": "47823:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44510:9:26" + "src": "47829:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "44500:3:26" + "src": "47819:3:14" }, "nodeType": "YulFunctionCall", - "src": "44500:20:26" + "src": "47819:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "44473:6:26" + "src": "47792:6:14" }, "nodeType": "YulFunctionCall", - "src": "44473:48:26" + "src": "47792:48:14" }, "nodeType": "YulExpressionStatement", - "src": "44473:48:26" + "src": "47792:48:14" }, { "nodeType": "YulAssignment", - "src": "44530:84:26", + "src": "47849:84:14", "value": { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "44600:6:26" + "src": "47919:6:14" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "44609:4:26" + "src": "47928:4:14" } ], "functionName": { "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "44538:61:26" + "src": "47857:61:14" }, "nodeType": "YulFunctionCall", - "src": "44538:76:26" + "src": "47857:76:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "44530:4:26" + "src": "47849:4:14" } ] } @@ -22622,31 +23927,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "44129:9:26", + "src": "47448:9:14", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "44141:6:26", + "src": "47460:6:14", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "44149:6:26", + "src": "47468:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "44157:6:26", + "src": "47476:6:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "44165:6:26", + "src": "47484:6:14", "type": "" } ], @@ -22654,41 +23959,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "44176:4:26", + "src": "47495:4:14", "type": "" } ], - "src": "43981:640:26" + "src": "47300:640:14" }, { "body": { "nodeType": "YulBlock", - "src": "44689:79:26", + "src": "48008:79:14", "statements": [ { "nodeType": "YulAssignment", - "src": "44699:22:26", + "src": "48018:22:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "44714:6:26" + "src": "48033:6:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "44708:5:26" + "src": "48027:5:14" }, "nodeType": "YulFunctionCall", - "src": "44708:13:26" + "src": "48027:13:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "44699:5:26" + "src": "48018:5:14" } ] }, @@ -22698,19 +24003,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "44756:5:26" + "src": "48075:5:14" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "44730:25:26" + "src": "48049:25:14" }, "nodeType": "YulFunctionCall", - "src": "44730:32:26" + "src": "48049:32:14" }, "nodeType": "YulExpressionStatement", - "src": "44730:32:26" + "src": "48049:32:14" } ] }, @@ -22720,13 +24025,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "44667:6:26", + "src": "47986:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "44675:3:26", + "src": "47994:3:14", "type": "" } ], @@ -22734,21 +24039,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "44683:5:26", + "src": "48002:5:14", "type": "" } ], - "src": "44627:141:26" + "src": "47946:141:14" }, { "body": { "nodeType": "YulBlock", - "src": "44850:273:26", + "src": "48169:273:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "44896:83:26", + "src": "48215:83:14", "statements": [ { "expression": { @@ -22756,13 +24061,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "44898:77:26" + "src": "48217:77:14" }, "nodeType": "YulFunctionCall", - "src": "44898:79:26" + "src": "48217:79:14" }, "nodeType": "YulExpressionStatement", - "src": "44898:79:26" + "src": "48217:79:14" } ] }, @@ -22773,26 +24078,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "44871:7:26" + "src": "48190:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "44880:9:26" + "src": "48199:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "44867:3:26" + "src": "48186:3:14" }, "nodeType": "YulFunctionCall", - "src": "44867:23:26" + "src": "48186:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "44892:2:26", + "src": "48211:2:14", "type": "", "value": "32" } @@ -22800,25 +24105,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "44863:3:26" + "src": "48182:3:14" }, "nodeType": "YulFunctionCall", - "src": "44863:32:26" + "src": "48182:32:14" }, "nodeType": "YulIf", - "src": "44860:119:26" + "src": "48179:119:14" }, { "nodeType": "YulBlock", - "src": "44989:127:26", + "src": "48308:127:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "45004:15:26", + "src": "48323:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "45018:1:26", + "src": "48337:1:14", "type": "", "value": "0" }, @@ -22826,14 +24131,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "45008:6:26", + "src": "48327:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "45033:73:26", + "src": "48352:73:14", "value": { "arguments": [ { @@ -22841,41 +24146,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "45078:9:26" + "src": "48397:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "45089:6:26" + "src": "48408:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "45074:3:26" + "src": "48393:3:14" }, "nodeType": "YulFunctionCall", - "src": "45074:22:26" + "src": "48393:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "45098:7:26" + "src": "48417:7:14" } ], "functionName": { "name": "abi_decode_t_bytes4_fromMemory", "nodeType": "YulIdentifier", - "src": "45043:30:26" + "src": "48362:30:14" }, "nodeType": "YulFunctionCall", - "src": "45043:63:26" + "src": "48362:63:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "45033:6:26" + "src": "48352:6:14" } ] } @@ -22889,13 +24194,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "44820:9:26", + "src": "48139:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "44831:7:26", + "src": "48150:7:14", "type": "" } ], @@ -22903,16 +24208,670 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "44843:6:26", + "src": "48162:6:14", "type": "" } ], - "src": "44774:349:26" + "src": "48093:349:14" }, { "body": { "nodeType": "YulBlock", - "src": "45157:152:26", + "src": "48554:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "48576:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48584:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48572:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "48572:14:14" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "48588:34:14", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "48565:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "48565:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "48565:58:14" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "48546:6:14", + "type": "" + } + ], + "src": "48448:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "48782:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "48792:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48858:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48863:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "48799:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "48799:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48792:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48964:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "48875:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "48875:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "48875:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "48977:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "48988:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "48993:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "48984:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "48984:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "48977:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "48770:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "48778:3:14", + "type": "" + } + ], + "src": "48636:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49179:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49189:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49201:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49212:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49197:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "49197:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49189:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49236:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49247:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49232:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "49232:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49255:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "49261:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "49251:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "49251:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49225:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "49225:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "49225:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "49281:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49415:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "49289:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "49289:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "49281:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "49159:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "49174:4:14", + "type": "" + } + ], + "src": "49008:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49539:72:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "49561:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49569:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49557:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "49557:14:14" + }, + { + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "49573:30:14", + "type": "", + "value": "ERC721: token already minted" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "49550:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "49550:54:14" + }, + "nodeType": "YulExpressionStatement", + "src": "49550:54:14" + } + ] + }, + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "49531:6:14", + "type": "" + } + ], + "src": "49433:178:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "49763:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "49773:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49839:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49844:2:14", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "49780:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "49780:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49773:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49945:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "nodeType": "YulIdentifier", + "src": "49856:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "49856:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "49856:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "49958:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "49969:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "49974:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "49965:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "49965:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "49958:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "49751:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "49759:3:14", + "type": "" + } + ], + "src": "49617:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50160:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "50170:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50182:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50193:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50178:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "50178:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50170:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50217:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "50228:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "50213:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "50213:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50236:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "50242:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "50232:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "50232:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "50206:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "50206:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "50206:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "50262:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50396:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "50270:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "50270:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "50262:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "50140:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "50155:4:14", + "type": "" + } + ], + "src": "49989:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "50442:152:14", "statements": [ { "expression": { @@ -22920,14 +24879,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "45174:1:26", + "src": "50459:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "45177:77:26", + "src": "50462:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -22935,13 +24894,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "45167:6:26" + "src": "50452:6:14" }, "nodeType": "YulFunctionCall", - "src": "45167:88:26" + "src": "50452:88:14" }, "nodeType": "YulExpressionStatement", - "src": "45167:88:26" + "src": "50452:88:14" }, { "expression": { @@ -22949,14 +24908,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "45271:1:26", + "src": "50556:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "45274:4:26", + "src": "50559:4:14", "type": "", "value": "0x31" } @@ -22964,13 +24923,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "45264:6:26" + "src": "50549:6:14" }, "nodeType": "YulFunctionCall", - "src": "45264:15:26" + "src": "50549:15:14" }, "nodeType": "YulExpressionStatement", - "src": "45264:15:26" + "src": "50549:15:14" }, { "expression": { @@ -22978,14 +24937,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "45295:1:26", + "src": "50580:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "45298:4:26", + "src": "50583:4:14", "type": "", "value": "0x24" } @@ -22993,165 +24952,113 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "45288:6:26" + "src": "50573:6:14" }, "nodeType": "YulFunctionCall", - "src": "45288:15:26" + "src": "50573:15:14" }, "nodeType": "YulExpressionStatement", - "src": "45288:15:26" + "src": "50573:15:14" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "45129:180:26" + "src": "50414:180: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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\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 // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\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 := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3, value4 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256t_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_uint256(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 abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_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_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 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 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_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_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner nor approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 62)\n store_literal_in_memory_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304__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_8a333355a81806ed720720a526142c1e97d1086371f6be2b18561203134ef304_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839(memPtr) {\n\n mstore(add(memPtr, 0), \"length error\")\n\n }\n\n function abi_encode_t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 12)\n store_literal_in_memory_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839__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_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839_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 panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\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_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 revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() {\n revert(0, 0)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(start, length, pos) -> end {\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n\n if gt(length, 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { revert_error_d0468cefdb41083d2ff66f1e66140f10c9da08cd905521a779422e76a84d11ec() }\n length := mul(length, 0x20)\n\n copy_calldata_to_memory(start, pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_t_address_t_array$_t_uint256_$dyn_calldata_ptr_t_array$_t_uint256_$dyn_calldata_ptr__to_t_address_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, value2, tail)\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_calldata_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value3, value4, tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function store_literal_in_memory_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 46)\n store_literal_in_memory_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b__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_eb80b9f25203511adb7b7660e6222669e088cedd0909cd81ed7470e34dcd010b_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_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_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 array_dataslot_t_string_storage(ptr) -> data {\n data := ptr\n\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n\n }\n\n // string -> string\n function abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> ret {\n let slotValue := sload(value)\n let length := extract_byte_array_length(slotValue)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n switch and(slotValue, 1)\n case 0 {\n // short byte array\n mstore(pos, and(slotValue, not(0xff)))\n ret := add(pos, length)\n }\n case 1 {\n // long byte array\n let dataPos := array_dataslot_t_string_storage(value)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) } {\n mstore(add(pos, i), sload(dataPos))\n dataPos := add(dataPos, 1)\n }\n ret := add(pos, length)\n }\n }\n\n function store_literal_in_memory_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527(memPtr) {\n\n mstore(add(memPtr, 0), \"/\")\n\n }\n\n function abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 1)\n store_literal_in_memory_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527(pos)\n end := add(pos, 1)\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_storage_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value2, value1, value0) -> end {\n\n pos := abi_encode_t_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_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 pos := abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_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(value2, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_string_storage_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_t_string_memory_ptr__to_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_string_storage_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527_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_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 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_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_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_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 panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", - "id": 26, + "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 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_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_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_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 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_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, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "422:3083:24:-:0;;;966:295;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1081:5;1088:7;1464:5:8;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;1107:42:24::1;2072:4:0;1118:18:24::0;::::1;1138:10;1107;;;:42;;:::i;:::-;1159:35;597:24;1183:10;1159;;;:35;;:::i;:::-;1214:8;1204:7;:18;;;;;;;;;;;;:::i;:::-;;1244:10;1232:9;:22;;;;;;;;;;;;:::i;:::-;;966:295:::0;;;;422:3083;;7474:233:0;7557:22;7565:4;7571:7;7557;;;:22;;:::i;:::-;7552:149;;7627:4;7595:6;:12;7602:4;7595:12;;;;;;;;;;;:20;;:29;7616:7;7595:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7677:12;:10;;;:12;;:::i;:::-;7650:40;;7668:7;7650:40;;7662:4;7650:40;;;;;;;;;;7552:149;7474:233;;:::o;2895:145::-;2981:4;3004:6;:12;3011:4;3004:12;;;;;;;;;;;:20;;:29;3025:7;3004:29;;;;;;;;;;;;;;;;;;;;;;;;;2997:36;;2895:145;;;;:::o;640:96:16:-;693:7;719:10;712:17;;640:96;:::o;422:3083:24:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:26:-;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:1512::-;2862:6;2870;2878;2886;2935:3;2923:9;2914:7;2910:23;2906:33;2903:120;;;2942:79;;:::i;:::-;2903:120;3083:1;3072:9;3068:17;3062:24;3113:18;3105:6;3102:30;3099:117;;;3135:79;;:::i;:::-;3099:117;3240:74;3306:7;3297:6;3286:9;3282:22;3240:74;:::i;:::-;3230:84;;3033:291;3384:2;3373:9;3369:18;3363:25;3415:18;3407:6;3404:30;3401:117;;;3437:79;;:::i;:::-;3401:117;3542:74;3608:7;3599:6;3588:9;3584:22;3542:74;:::i;:::-;3532:84;;3334:292;3686:2;3675:9;3671:18;3665:25;3717:18;3709:6;3706:30;3703:117;;;3739:79;;:::i;:::-;3703:117;3844:74;3910:7;3901:6;3890:9;3886:22;3844:74;:::i;:::-;3834:84;;3636:292;3988:2;3977:9;3973:18;3967:25;4019:18;4011:6;4008:30;4005:117;;;4041:79;;:::i;:::-;4005:117;4146:74;4212:7;4203:6;4192:9;4188:22;4146:74;:::i;:::-;4136:84;;3938:292;2725:1512;;;;;;;:::o;4243:180::-;4291:77;4288:1;4281:88;4388:4;4385:1;4378:15;4412:4;4409:1;4402:15;4429:320;4473:6;4510:1;4504:4;4500:12;4490:22;;4557:1;4551:4;4547:12;4578:18;4568:81;;4634:4;4626:6;4622:17;4612:27;;4568:81;4696:2;4688:6;4685:14;4665:18;4662:38;4659:84;;;4715:18;;:::i;:::-;4659:84;4480:269;4429:320;;;:::o;422:3083:24:-;;;;;;;", - "deployedSourceMap": "422:3083:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3327:176;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2470:98:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3467:407;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1828:362:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1648:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4612:327:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4391:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4816:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5925:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5005:179:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1798:230:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2512:115:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2633:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2862:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:218:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;629:21:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;656:23:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2895:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2632:102:8;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2763:93:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5250:315;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2196:310:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;559:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5241:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2980:274:24;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4388:162:8;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3327:176:24;3437:4;3460:36;3484:11;3460:23;:36::i;:::-;3453:43;;3327:176;;;:::o;2470:98:8:-;2524:13;2556:5;2549:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2470: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;3467:407::-;3547:13;3563:23;3578:7;3563:14;:23::i;:::-;3547:39;;3610:5;3604:11;;:2;:11;;;;3596:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3701:5;3685:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3710:37;3727:5;3734:12;:10;:12::i;:::-;3710:16;:37::i;:::-;3685:62;3664:171;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3537:337;3467:407;;:::o;1828:362:24:-;597:24;2505:16:0;2516:4;2505:10;:16::i;:::-;1986:9:24::1;;:16;;1967:8;;:15;;:35;1959:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2033:9;2029:106;2052:8;;:15;;2048:1;:19;2029:106;;;2088:36;2094:2;2098:8;;2107:1;2098:11;;;;;;;:::i;:::-;;;;;;;;2111:9;;2121:1;2111:12;;;;;;;:::i;:::-;;;;;;;;2088:5;:36::i;:::-;2069:4;;;;;:::i;:::-;;;;2029:106;;;;2149:34;2159:2;2163:8;;2173:9;;2149:34;;;;;;;;;;:::i;:::-;;;;;;;;1828:362:::0;;;;;;:::o;1648:174::-;597:24;2505:16:0;2516:4;2505:10;:16::i;:::-;1746:28:24::1;1752:2;1756:7;1765:8;1746:5;:28::i;:::-;1788:27;1793:2;1797:7;1806:8;1788:27;;;;;;;;:::i;:::-;;;;;;;;1648:174:::0;;;;:::o;1615:111:11:-;1676:7;1702:10;:17;;;;1695:24;;1615:111;:::o;4612:327:8:-;4801:41;4820:12;:10;:12::i;:::-;4834:7;4801:18;:41::i;:::-;4793:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;4904:28;4914:4;4920:2;4924:7;4904:9;:28::i;:::-;4612:327;;;:::o;4391:129:0:-;4465:7;4491:6;:12;4498:4;4491:12;;;;;;;;;;;:22;;;4484:29;;4391:129;;;:::o;4816:145::-;4899:18;4912:4;4899:12;:18::i;:::-;2505:16;2516:4;2505:10;:16::i;:::-;4929:25:::1;4940:4;4946:7;4929:10;:25::i;:::-;4816:145:::0;;;:::o;1291:253:11:-;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;5925:214:0:-;6031:12;:10;:12::i;:::-;6020:23;;:7;:23;;;6012:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6106:26;6118:4;6124:7;6106:11;:26::i;:::-;5925:214;;:::o;5005:179:8:-;5138:39;5155:4;5161:2;5165:7;5138:39;;;;;;;;;;;;:16;:39::i;:::-;5005:179;;;:::o;1798:230:11:-;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;2512:115:24:-;2072:4:0;2572:18:24;;2505:16:0;2516:4;2505:10;:16::i;:::-;2612:8:24::1;2602:7;:18;;;;;;;;;;;;:::i;:::-;;2512:115:::0;;:::o;2633:123::-;2072:4:0;2697:18:24;;2505:16:0;2516:4;2505:10;:16::i;:::-;2739:10:24::1;2727:9;:22;;;;;;;;;;;;:::i;:::-;;2633:123:::0;;:::o;2862:112::-;1299:34;597:24;1320:12;:10;:12::i;:::-;1299:7;:34::i;:::-;;1343:37;597:24;1367:12;:10;:12::i;:::-;1343:10;:37::i;:::-;2933:34:::1;597:24;2959:7;2933:12;:34::i;:::-;2862:112:::0;:::o;2190:218:8:-;2262:7;2281:13;2297:7;:16;2305:7;2297:16;;;;;;;;;;;;;;;;;;;;;2281:32;;2348:1;2331:19;;:5;:19;;;;2323:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2396:5;2389:12;;;2190:218;;;:::o;629:21:24:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1929:204:8:-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;656:23:24:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2895:145:0:-;2981:4;3004:6;:12;3011:4;3004:12;;;;;;;;;;;:20;;:29;3025:7;3004:29;;;;;;;;;;;;;;;;;;;;;;;;;2997:36;;2895:145;;;;:::o;2632:102:8:-;2688:13;2720:7;2713:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2632:102;:::o;2763:93:24:-;2818:31;597:24;2841:7;2818:9;:31::i;:::-;2763:93;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;4169:153:8:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;5250:315::-;5418:41;5437:12;:10;:12::i;:::-;5451:7;5418:18;:41::i;:::-;5410:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;5520:38;5534:4;5540:2;5544:7;5553:4;5520:13;:38::i;:::-;5250:315;;;;:::o;2196:310:24:-;2261:13;2294:16;2302:7;2294;:16::i;:::-;2286:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;2349:16;2368:12;:21;2381:7;2368:21;;;;;;;;;;;:30;;;2349:49;;2439:7;2453:19;:8;:17;:19::i;:::-;2479:18;:7;:16;:18::i;:::-;2422:76;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2408:91;;;2196:310;;;:::o;559:62::-;597:24;559:62;:::o;5241:147:0:-;5325:18;5338:4;5325:12;:18::i;:::-;2505:16;2516:4;2505:10;:16::i;:::-;5355:26:::1;5367:4;5373:7;5355:11;:26::i;:::-;5241:147:::0;;;:::o;2980:274:24:-;3033:13;3065:16;3073:7;3065;:16::i;:::-;3057:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;3120:16;3139:12;:21;3152:7;3139:21;;;;;;;;;;;:30;;;3120:49;;3210:9;3226:19;:8;:17;:19::i;:::-;3193:53;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3179:68;;;2980:274;;;:::o;4388:162:8:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;2606:202:0:-;2691:4;2729:32;2714:47;;;:11;:47;;;;:87;;;;2765:36;2789:11;2765:23;:36::i;:::-;2714:87;2707:94;;2606:202;;;:::o;11657:133:8:-;11738:16;11746:7;11738;:16::i;:::-;11730:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;11657:133;:::o;640:96:16:-;693:7;719:10;712:17;;640:96;:::o;10959:171:8:-;11060:2;11033:15;:24;11049:7;11033:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11115:7;11111:2;11077:46;;11086:23;11101:7;11086:14;:23::i;:::-;11077:46;;;;;;;;;;;;10959:171;;:::o;3334:103:0:-;3400:30;3411:4;3417:12;:10;:12::i;:::-;3400:10;:30::i;:::-;3334:103;:::o;1404:238:24:-;1481:14;1498:35;;;;;;;;1515:8;1498:35;;;1481:52;;1567:3;1543:12;:21;1556:7;1543:21;;;;;;;;;;;:27;;;;;;;;;;;1580;1599:7;1580:10;:14;1591:2;1580:14;;;;;;;;;;;;;;;:18;;:27;;;;:::i;:::-;;1617:18;1623:2;1627:7;1617:5;:18::i;:::-;1471:171;1404:238;;;:::o;7317:261:8:-;7410:4;7426:13;7442:23;7457:7;7442:14;:23::i;:::-;7426:39;;7494:5;7483:16;;:7;:16;;;:52;;;;7503:32;7520:5;7527:7;7503:16;:32::i;:::-;7483:52;:87;;;;7563:7;7539:31;;:20;7551:7;7539:11;:20::i;:::-;:31;;;7483:87;7475:96;;;7317:261;;;;:::o;10242:605::-;10396:4;10369:31;;:23;10384:7;10369:14;:23::i;:::-;:31;;;10361:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10474:1;10460:16;;:2;:16;;;;10452:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10528:39;10549:4;10555:2;10559:7;10528:20;:39::i;:::-;10629:29;10646:1;10650:7;10629:8;:29::i;:::-;10688:1;10669:9;:15;10679:4;10669:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;10716:1;10699:9;:13;10709:2;10699:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;10746:2;10727:7;:16;10735:7;10727:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10783:7;10779:2;10764:27;;10773:4;10764:27;;;;;;;;;;;;10802:38;10822:4;10828:2;10832:7;10802:19;:38::i;:::-;10242:605;;;:::o;7474:233:0:-;7557:22;7565:4;7571:7;7557;:22::i;:::-;7552:149;;7627:4;7595:6;:12;7602:4;7595:12;;;;;;;;;;;:20;;:29;7616:7;7595:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7677:12;:10;:12::i;:::-;7650:40;;7668:7;7650:40;;7662:4;7650:40;;;;;;;;;;7552:149;7474:233;;:::o;7878:234::-;7961:22;7969:4;7975:7;7961;:22::i;:::-;7957:149;;;8031:5;7999:6;:12;8006:4;7999:12;;;;;;;;;;;:20;;:29;8020:7;7999:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8082:12;:10;:12::i;:::-;8055:40;;8073:7;8055:40;;8067:4;8055:40;;;;;;;;;;7957:149;7878:234;;:::o;3718:492::-;3806:22;3814:4;3820:7;3806;:22::i;:::-;3801:403;;3989:41;4017:7;3989:41;;4027:2;3989:19;:41::i;:::-;4101:38;4129:4;4121:13;;4136:2;4101:19;:38::i;:::-;3896:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3844:349;;;;;;;;;;;:::i;:::-;;;;;;;;3801:403;3718:492;;:::o;11266:307:8:-;11416:8;11407:17;;:5;:17;;;;11399:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;11502:8;11464:18;:25;11483:5;11464:25;;;;;;;;;;;;;;;:35;11490:8;11464:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11547:8;11525:41;;11540:5;11525:41;;;11557:8;11525:41;;;;;;:::i;:::-;;;;;;;;11266:307;;;:::o;6426:305::-;6576:28;6586:4;6592:2;6596:7;6576:9;:28::i;:::-;6622:47;6645:4;6651:2;6655:7;6664:4;6622:22;:47::i;:::-;6614:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6426:305;;;;:::o;7034:125::-;7099:4;7150:1;7122:30;;:7;:16;7130:7;7122:16;;;;;;;;;;;;;;;;;;;;;:30;;;;7115:37;;7034:125;;;:::o;392:703:17:-;448:13;674:1;665:5;:10;661:51;;;691:10;;;;;;;;;;;;;;;;;;;;;661:51;721:12;736:5;721:20;;751:14;775:75;790:1;782:4;:9;775:75;;807:8;;;;;:::i;:::-;;;;837:2;829:10;;;;;:::i;:::-;;;775:75;;;859:19;891:6;881:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:39;;908:150;924:1;915:5;:10;908:150;;951:1;941:11;;;;;:::i;:::-;;;1017:2;1009:5;:10;;;;:::i;:::-;996:2;:24;;;;:::i;:::-;983:39;;966:6;973;966:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;1045:2;1036:11;;;;;:::i;:::-;;;908:150;;;1081:6;1067:21;;;;;392:703;;;;:::o;990:222:11:-;1092:4;1130:35;1115:50;;;:11;:50;;;;:90;;;;1169:36;1193:11;1169:23;:36::i;:::-;1115:90;1108:97;;990:222;;;:::o;10516:129:21:-;10583:4;10606:32;10611:3;:10;;10631:5;10623:14;;10606:4;:32::i;:::-;10599:39;;10516:129;;;;:::o;8868:427:8:-;8961:1;8947:16;;:2;:16;;;;8939:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9019:16;9027:7;9019;:16::i;:::-;9018:17;9010:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9079:45;9108:1;9112:2;9116:7;9079:20;:45::i;:::-;9152:1;9135:9;:13;9145:2;9135:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;9182:2;9163:7;:16;9171:7;9163:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9225:7;9221:2;9200:33;;9217:1;9200:33;;;;;;;;;;;;9244:44;9272:1;9276:2;9280:7;9244:19;:44::i;:::-;8868:427;;:::o;2624:572:11:-;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;14223:121:8:-;;;;:::o;1652:441:17:-;1727:13;1752:19;1797:1;1788:6;1784:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1774:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1752:47;;1809:15;:6;1816:1;1809:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1834;:6;1841:1;1834:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1864:9;1889:1;1880:6;1876:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1864:26;;1859:132;1896:1;1892;:5;1859:132;;;1930:12;1951:3;1943:5;:11;1930:25;;;;;;;:::i;:::-;;;;;1918:6;1925:1;1918:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;1979:1;1969:11;;;;;1899:3;;;;:::i;:::-;;;1859:132;;;;2017:1;2008:5;:10;2000:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2079:6;2065:21;;;1652:441;;;;:::o;12342:831:8:-;12491:4;12511:15;:2;:13;;;:15::i;:::-;12507:660;;;12562:2;12546:36;;;12583:12;:10;:12::i;:::-;12597:4;12603:7;12612:4;12546:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;12542:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12801:1;12784:6;:13;:18;12780:321;;;12826:60;;;;;;;;;;:::i;:::-;;;;;;;;12780:321;13053:6;13047:13;13038:6;13034:2;13030:15;13023:38;12542:573;12677:41;;;12667:51;;;:6;:51;;;;12660:58;;;;;12507:660;13152:4;13145:11;;12342:831;;;;;;;:::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;2113:404:21:-;2176:4;2197:21;2207:3;2212:5;2197:9;:21::i;:::-;2192:319;;2234:3;:11;;2251:5;2234:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:3;:11;;:18;;;;2392:3;:12;;:19;2405:5;2392:19;;;;;;;;;;;:40;;;;2453:4;2446:11;;;;2192:319;2495:5;2488:12;;2113:404;;;;;:::o;13729:122:8:-;;;;:::o;3902:161:11:-;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;1175:320:15:-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;829:155:18:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;4154:127:21:-;4227:4;4273:1;4250:3;:12;;:19;4263:5;4250:19;;;;;;;;;;;;:24;;4243:31;;4154:127;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:26:-;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:117::-;5047:1;5044;5037:12;5061:117;5170:1;5167;5160:12;5184:117;5293:1;5290;5283:12;5324:568;5397:8;5407:6;5457:3;5450:4;5442:6;5438:17;5434:27;5424:122;;5465:79;;:::i;:::-;5424:122;5578:6;5565:20;5555:30;;5608:18;5600:6;5597:30;5594:117;;;5630:79;;:::i;:::-;5594:117;5744:4;5736:6;5732:17;5720:29;;5798:3;5790:4;5782:6;5778:17;5768:8;5764:32;5761:41;5758:128;;;5805:79;;:::i;:::-;5758:128;5324:568;;;;;:::o;5898:1079::-;6029:6;6037;6045;6053;6061;6110:2;6098:9;6089:7;6085:23;6081:32;6078:119;;;6116:79;;:::i;:::-;6078:119;6236:1;6261:53;6306:7;6297:6;6286:9;6282:22;6261:53;:::i;:::-;6251:63;;6207:117;6391:2;6380:9;6376:18;6363:32;6422:18;6414:6;6411:30;6408:117;;;6444:79;;:::i;:::-;6408:117;6557:80;6629:7;6620:6;6609:9;6605:22;6557:80;:::i;:::-;6539:98;;;;6334:313;6714:2;6703:9;6699:18;6686:32;6745:18;6737:6;6734:30;6731:117;;;6767:79;;:::i;:::-;6731:117;6880:80;6952:7;6943:6;6932:9;6928:22;6880:80;:::i;:::-;6862:98;;;;6657:313;5898:1079;;;;;;;;:::o;6983:619::-;7060:6;7068;7076;7125:2;7113:9;7104:7;7100:23;7096:32;7093:119;;;7131:79;;:::i;:::-;7093:119;7251:1;7276:53;7321:7;7312:6;7301:9;7297:22;7276:53;:::i;:::-;7266:63;;7222:117;7378:2;7404:53;7449:7;7440:6;7429:9;7425:22;7404:53;:::i;:::-;7394:63;;7349:118;7506:2;7532:53;7577:7;7568:6;7557:9;7553:22;7532:53;:::i;:::-;7522:63;;7477:118;6983:619;;;;;:::o;7608:118::-;7695:24;7713:5;7695:24;:::i;:::-;7690:3;7683:37;7608:118;;:::o;7732:222::-;7825:4;7863:2;7852:9;7848:18;7840:26;;7876:71;7944:1;7933:9;7929:17;7920:6;7876:71;:::i;:::-;7732:222;;;;:::o;7960:619::-;8037:6;8045;8053;8102:2;8090:9;8081:7;8077:23;8073:32;8070:119;;;8108:79;;:::i;:::-;8070:119;8228:1;8253:53;8298:7;8289:6;8278:9;8274:22;8253:53;:::i;:::-;8243:63;;8199:117;8355:2;8381:53;8426:7;8417:6;8406:9;8402:22;8381:53;:::i;:::-;8371:63;;8326:118;8483:2;8509:53;8554:7;8545:6;8534:9;8530:22;8509:53;:::i;:::-;8499:63;;8454:118;7960:619;;;;;:::o;8585:77::-;8622:7;8651:5;8640:16;;8585:77;;;:::o;8668:122::-;8741:24;8759:5;8741:24;:::i;:::-;8734:5;8731:35;8721:63;;8780:1;8777;8770:12;8721:63;8668:122;:::o;8796:139::-;8842:5;8880:6;8867:20;8858:29;;8896:33;8923:5;8896:33;:::i;:::-;8796:139;;;;:::o;8941:329::-;9000:6;9049:2;9037:9;9028:7;9024:23;9020:32;9017:119;;;9055:79;;:::i;:::-;9017:119;9175:1;9200:53;9245:7;9236:6;9225:9;9221:22;9200:53;:::i;:::-;9190:63;;9146:117;8941:329;;;;:::o;9276:118::-;9363:24;9381:5;9363:24;:::i;:::-;9358:3;9351:37;9276:118;;:::o;9400:222::-;9493:4;9531:2;9520:9;9516:18;9508:26;;9544:71;9612:1;9601:9;9597:17;9588:6;9544:71;:::i;:::-;9400:222;;;;:::o;9628:474::-;9696:6;9704;9753:2;9741:9;9732:7;9728:23;9724:32;9721:119;;;9759:79;;:::i;:::-;9721:119;9879:1;9904:53;9949:7;9940:6;9929:9;9925:22;9904:53;:::i;:::-;9894:63;;9850:117;10006:2;10032:53;10077:7;10068:6;10057:9;10053:22;10032:53;:::i;:::-;10022:63;;9977:118;9628:474;;;;;:::o;10108:117::-;10217:1;10214;10207:12;10231:180;10279:77;10276:1;10269:88;10376:4;10373:1;10366:15;10400:4;10397:1;10390:15;10417:281;10500:27;10522:4;10500:27;:::i;:::-;10492:6;10488:40;10630:6;10618:10;10615:22;10594:18;10582:10;10579:34;10576:62;10573:88;;;10641:18;;:::i;:::-;10573:88;10681:10;10677:2;10670:22;10460:238;10417:281;;:::o;10704:129::-;10738:6;10765:20;;:::i;:::-;10755:30;;10794:33;10822:4;10814:6;10794:33;:::i;:::-;10704:129;;;:::o;10839:308::-;10901:4;10991:18;10983:6;10980:30;10977:56;;;11013:18;;:::i;:::-;10977:56;11051:29;11073:6;11051:29;:::i;:::-;11043:37;;11135:4;11129;11125:15;11117:23;;10839:308;;;:::o;11153:154::-;11237:6;11232:3;11227;11214:30;11299:1;11290:6;11285:3;11281:16;11274:27;11153:154;;;:::o;11313:412::-;11391:5;11416:66;11432:49;11474:6;11432:49;:::i;:::-;11416:66;:::i;:::-;11407:75;;11505:6;11498:5;11491:21;11543:4;11536:5;11532:16;11581:3;11572:6;11567:3;11563:16;11560:25;11557:112;;;11588:79;;:::i;:::-;11557:112;11678:41;11712:6;11707:3;11702;11678:41;:::i;:::-;11397:328;11313:412;;;;;:::o;11745:340::-;11801:5;11850:3;11843:4;11835:6;11831:17;11827:27;11817:122;;11858:79;;:::i;:::-;11817:122;11975:6;11962:20;12000:79;12075:3;12067:6;12060:4;12052:6;12048:17;12000:79;:::i;:::-;11991:88;;11807:278;11745:340;;;;:::o;12091:509::-;12160:6;12209:2;12197:9;12188:7;12184:23;12180:32;12177:119;;;12215:79;;:::i;:::-;12177:119;12363:1;12352:9;12348:17;12335:31;12393:18;12385:6;12382:30;12379:117;;;12415:79;;:::i;:::-;12379:117;12520:63;12575:7;12566:6;12555:9;12551:22;12520:63;:::i;:::-;12510:73;;12306:287;12091:509;;;;:::o;12606:329::-;12665:6;12714:2;12702:9;12693:7;12689:23;12685:32;12682:119;;;12720:79;;:::i;:::-;12682:119;12840:1;12865:53;12910:7;12901:6;12890:9;12886:22;12865:53;:::i;:::-;12855:63;;12811:117;12606:329;;;;:::o;12941:116::-;13011:21;13026:5;13011:21;:::i;:::-;13004:5;13001:32;12991:60;;13047:1;13044;13037:12;12991:60;12941:116;:::o;13063:133::-;13106:5;13144:6;13131:20;13122:29;;13160:30;13184:5;13160:30;:::i;:::-;13063:133;;;;:::o;13202:468::-;13267:6;13275;13324:2;13312:9;13303:7;13299:23;13295:32;13292:119;;;13330:79;;:::i;:::-;13292:119;13450:1;13475:53;13520:7;13511:6;13500:9;13496:22;13475:53;:::i;:::-;13465:63;;13421:117;13577:2;13603:50;13645:7;13636:6;13625:9;13621:22;13603:50;:::i;:::-;13593:60;;13548:115;13202:468;;;;;:::o;13676:307::-;13737:4;13827:18;13819:6;13816:30;13813:56;;;13849:18;;:::i;:::-;13813:56;13887:29;13909:6;13887:29;:::i;:::-;13879:37;;13971:4;13965;13961:15;13953:23;;13676:307;;;:::o;13989:410::-;14066:5;14091:65;14107:48;14148:6;14107:48;:::i;:::-;14091:65;:::i;:::-;14082:74;;14179:6;14172:5;14165:21;14217:4;14210:5;14206:16;14255:3;14246:6;14241:3;14237:16;14234:25;14231:112;;;14262:79;;:::i;:::-;14231:112;14352:41;14386:6;14381:3;14376;14352:41;:::i;:::-;14072:327;13989:410;;;;;:::o;14418:338::-;14473:5;14522:3;14515:4;14507:6;14503:17;14499:27;14489:122;;14530:79;;:::i;:::-;14489:122;14647:6;14634:20;14672:78;14746:3;14738:6;14731:4;14723:6;14719:17;14672:78;:::i;:::-;14663:87;;14479:277;14418:338;;;;:::o;14762:943::-;14857:6;14865;14873;14881;14930:3;14918:9;14909:7;14905:23;14901:33;14898:120;;;14937:79;;:::i;:::-;14898:120;15057:1;15082:53;15127:7;15118:6;15107:9;15103:22;15082:53;:::i;:::-;15072:63;;15028:117;15184:2;15210:53;15255:7;15246:6;15235:9;15231:22;15210:53;:::i;:::-;15200:63;;15155:118;15312:2;15338:53;15383:7;15374:6;15363:9;15359:22;15338:53;:::i;:::-;15328:63;;15283:118;15468:2;15457:9;15453:18;15440:32;15499:18;15491:6;15488:30;15485:117;;;15521:79;;:::i;:::-;15485:117;15626:62;15680:7;15671:6;15660:9;15656:22;15626:62;:::i;:::-;15616:72;;15411:287;14762:943;;;;;;;:::o;15711:474::-;15779:6;15787;15836:2;15824:9;15815:7;15811:23;15807:32;15804:119;;;15842:79;;:::i;:::-;15804:119;15962:1;15987:53;16032:7;16023:6;16012:9;16008:22;15987:53;:::i;:::-;15977:63;;15933:117;16089:2;16115:53;16160:7;16151:6;16140:9;16136:22;16115:53;:::i;:::-;16105:63;;16060:118;15711:474;;;;;:::o;16191:180::-;16239:77;16236:1;16229:88;16336:4;16333:1;16326:15;16360:4;16357:1;16350:15;16377:320;16421:6;16458:1;16452:4;16448:12;16438:22;;16505:1;16499:4;16495:12;16526:18;16516:81;;16582:4;16574:6;16570:17;16560:27;;16516:81;16644:2;16636:6;16633:14;16613:18;16610:38;16607:84;;;16663:18;;:::i;:::-;16607:84;16428:269;16377:320;;;:::o;16703:220::-;16843:34;16839:1;16831:6;16827:14;16820:58;16912:3;16907:2;16899:6;16895:15;16888:28;16703:220;:::o;16929:366::-;17071:3;17092:67;17156:2;17151:3;17092:67;:::i;:::-;17085:74;;17168:93;17257:3;17168:93;:::i;:::-;17286:2;17281:3;17277:12;17270:19;;16929:366;;;:::o;17301:419::-;17467:4;17505:2;17494:9;17490:18;17482:26;;17554:9;17548:4;17544:20;17540:1;17529:9;17525:17;17518:47;17582:131;17708:4;17582:131;:::i;:::-;17574:139;;17301:419;;;:::o;17726:249::-;17866:34;17862:1;17854:6;17850:14;17843:58;17935:32;17930:2;17922:6;17918:15;17911:57;17726:249;:::o;17981:366::-;18123:3;18144:67;18208:2;18203:3;18144:67;:::i;:::-;18137:74;;18220:93;18309:3;18220:93;:::i;:::-;18338:2;18333:3;18329:12;18322:19;;17981:366;;;:::o;18353:419::-;18519:4;18557:2;18546:9;18542:18;18534:26;;18606:9;18600:4;18596:20;18592:1;18581:9;18577:17;18570:47;18634:131;18760:4;18634:131;:::i;:::-;18626:139;;18353:419;;;:::o;18778:162::-;18918:14;18914:1;18906:6;18902:14;18895:38;18778:162;:::o;18946:366::-;19088:3;19109:67;19173:2;19168:3;19109:67;:::i;:::-;19102:74;;19185:93;19274:3;19185:93;:::i;:::-;19303:2;19298:3;19294:12;19287:19;;18946:366;;;:::o;19318:419::-;19484:4;19522:2;19511:9;19507:18;19499:26;;19571:9;19565:4;19561:20;19557:1;19546:9;19542:17;19535:47;19599:131;19725:4;19599:131;:::i;:::-;19591:139;;19318:419;;;:::o;19743:180::-;19791:77;19788:1;19781:88;19888:4;19885:1;19878:15;19912:4;19909:1;19902:15;19929:180;19977:77;19974:1;19967:88;20074:4;20071:1;20064:15;20098:4;20095:1;20088:15;20115:233;20154:3;20177:24;20195:5;20177:24;:::i;:::-;20168:33;;20223:66;20216:5;20213:77;20210:103;;;20293:18;;:::i;:::-;20210:103;20340:1;20333:5;20329:13;20322:20;;20115:233;;;:::o;20354:184::-;20453:11;20487:6;20482:3;20475:19;20527:4;20522:3;20518:14;20503:29;;20354:184;;;;:::o;20544:117::-;20653:1;20650;20643:12;20697:537;20825:3;20846:86;20925:6;20920:3;20846:86;:::i;:::-;20839:93;;20956:66;20948:6;20945:78;20942:165;;;21026:79;;:::i;:::-;20942:165;21138:4;21130:6;21126:17;21116:27;;21153:43;21189:6;21184:3;21177:5;21153:43;:::i;:::-;21221:6;21216:3;21212:16;21205:23;;20697:537;;;;;:::o;21240:784::-;21509:4;21547:2;21536:9;21532:18;21524:26;;21560:71;21628:1;21617:9;21613:17;21604:6;21560:71;:::i;:::-;21678:9;21672:4;21668:20;21663:2;21652:9;21648:18;21641:48;21706:118;21819:4;21810:6;21802;21706:118;:::i;:::-;21698:126;;21871:9;21865:4;21861:20;21856:2;21845:9;21841:18;21834:48;21899:118;22012:4;22003:6;21995;21899:118;:::i;:::-;21891:126;;21240:784;;;;;;;;:::o;22030:442::-;22179:4;22217:2;22206:9;22202:18;22194:26;;22230:71;22298:1;22287:9;22283:17;22274:6;22230:71;:::i;:::-;22311:72;22379:2;22368:9;22364:18;22355:6;22311:72;:::i;:::-;22393;22461:2;22450:9;22446:18;22437:6;22393:72;:::i;:::-;22030:442;;;;;;:::o;22478:233::-;22618:34;22614:1;22606:6;22602:14;22595:58;22687:16;22682:2;22674:6;22670:15;22663:41;22478:233;:::o;22717:366::-;22859:3;22880:67;22944:2;22939:3;22880:67;:::i;:::-;22873:74;;22956:93;23045:3;22956:93;:::i;:::-;23074:2;23069:3;23065:12;23058:19;;22717:366;;;:::o;23089:419::-;23255:4;23293:2;23282:9;23278:18;23270:26;;23342:9;23336:4;23332:20;23328:1;23317:9;23313:17;23306:47;23370:131;23496:4;23370:131;:::i;:::-;23362:139;;23089:419;;;:::o;23514:230::-;23654:34;23650:1;23642:6;23638:14;23631:58;23723:13;23718:2;23710:6;23706:15;23699:38;23514:230;:::o;23750:366::-;23892:3;23913:67;23977:2;23972:3;23913:67;:::i;:::-;23906:74;;23989:93;24078:3;23989:93;:::i;:::-;24107:2;24102:3;24098:12;24091:19;;23750:366;;;:::o;24122:419::-;24288:4;24326:2;24315:9;24311:18;24303:26;;24375:9;24369:4;24365:20;24361:1;24350:9;24346:17;24339:47;24403:131;24529:4;24403:131;:::i;:::-;24395:139;;24122:419;;;:::o;24547:234::-;24687:34;24683:1;24675:6;24671:14;24664:58;24756:17;24751:2;24743:6;24739:15;24732:42;24547:234;:::o;24787:366::-;24929:3;24950:67;25014:2;25009:3;24950:67;:::i;:::-;24943:74;;25026:93;25115:3;25026:93;:::i;:::-;25144:2;25139:3;25135:12;25128:19;;24787:366;;;:::o;25159:419::-;25325:4;25363:2;25352:9;25348:18;25340:26;;25412:9;25406:4;25402:20;25398:1;25387:9;25383:17;25376:47;25440:131;25566:4;25440:131;:::i;:::-;25432:139;;25159:419;;;:::o;25584:231::-;25724:34;25720:1;25712:6;25708:14;25701:58;25793:14;25788:2;25780:6;25776:15;25769:39;25584:231;:::o;25821:366::-;25963:3;25984:67;26048:2;26043:3;25984:67;:::i;:::-;25977:74;;26060:93;26149:3;26060:93;:::i;:::-;26178:2;26173:3;26169:12;26162:19;;25821:366;;;:::o;26193:419::-;26359:4;26397:2;26386:9;26382:18;26374:26;;26446:9;26440:4;26436:20;26432:1;26421:9;26417:17;26410:47;26474:131;26600:4;26474:131;:::i;:::-;26466:139;;26193:419;;;:::o;26618:174::-;26758:26;26754:1;26746:6;26742:14;26735:50;26618:174;:::o;26798:366::-;26940:3;26961:67;27025:2;27020:3;26961:67;:::i;:::-;26954:74;;27037:93;27126:3;27037:93;:::i;:::-;27155:2;27150:3;27146:12;27139:19;;26798:366;;;:::o;27170:419::-;27336:4;27374:2;27363:9;27359:18;27351:26;;27423:9;27417:4;27413:20;27409:1;27398:9;27394:17;27387:47;27451:131;27577:4;27451:131;:::i;:::-;27443:139;;27170:419;;;:::o;27595:228::-;27735:34;27731:1;27723:6;27719:14;27712:58;27804:11;27799:2;27791:6;27787:15;27780:36;27595:228;:::o;27829:366::-;27971:3;27992:67;28056:2;28051:3;27992:67;:::i;:::-;27985:74;;28068:93;28157:3;28068:93;:::i;:::-;28186:2;28181:3;28177:12;28170:19;;27829:366;;;:::o;28201:419::-;28367:4;28405:2;28394:9;28390:18;28382:26;;28454:9;28448:4;28444:20;28440:1;28429:9;28425:17;28418:47;28482:131;28608:4;28482:131;:::i;:::-;28474:139;;28201:419;;;:::o;28626:148::-;28728:11;28765:3;28750:18;;28626:148;;;;:::o;28780:141::-;28829:4;28852:3;28844:11;;28875:3;28872:1;28865:14;28909:4;28906:1;28896:18;28888:26;;28780:141;;;:::o;28951:845::-;29054:3;29091:5;29085:12;29120:36;29146:9;29120:36;:::i;:::-;29172:89;29254:6;29249:3;29172:89;:::i;:::-;29165:96;;29292:1;29281:9;29277:17;29308:1;29303:137;;;;29454:1;29449:341;;;;29270:520;;29303:137;29387:4;29383:9;29372;29368:25;29363:3;29356:38;29423:6;29418:3;29414:16;29407:23;;29303:137;;29449:341;29516:38;29548:5;29516:38;:::i;:::-;29576:1;29590:154;29604:6;29601:1;29598:13;29590:154;;;29678:7;29672:14;29668:1;29663:3;29659:11;29652:35;29728:1;29719:7;29715:15;29704:26;;29626:4;29623:1;29619:12;29614:17;;29590:154;;;29773:6;29768:3;29764:16;29757:23;;29456:334;;29270:520;;29058:738;;28951:845;;;;:::o;29802:151::-;29942:3;29938:1;29930:6;29926:14;29919:27;29802:151;:::o;29959:400::-;30119:3;30140:84;30222:1;30217:3;30140:84;:::i;:::-;30133:91;;30233:93;30322:3;30233:93;:::i;:::-;30351:1;30346:3;30342:11;30335:18;;29959:400;;;:::o;30365:377::-;30471:3;30499:39;30532:5;30499:39;:::i;:::-;30554:89;30636:6;30631:3;30554:89;:::i;:::-;30547:96;;30652:52;30697:6;30692:3;30685:4;30678:5;30674:16;30652:52;:::i;:::-;30729:6;30724:3;30720:16;30713:23;;30475:267;30365:377;;;;:::o;30748:1121::-;31175:3;31197:92;31285:3;31276:6;31197:92;:::i;:::-;31190:99;;31306:148;31450:3;31306:148;:::i;:::-;31299:155;;31471:95;31562:3;31553:6;31471:95;:::i;:::-;31464:102;;31583:148;31727:3;31583:148;:::i;:::-;31576:155;;31748:95;31839:3;31830:6;31748:95;:::i;:::-;31741:102;;31860:3;31853:10;;30748:1121;;;;;;:::o;31875:695::-;32153:3;32175:92;32263:3;32254:6;32175:92;:::i;:::-;32168:99;;32284:148;32428:3;32284:148;:::i;:::-;32277:155;;32449:95;32540:3;32531:6;32449:95;:::i;:::-;32442:102;;32561:3;32554:10;;31875:695;;;;;:::o;32576:224::-;32716:34;32712:1;32704:6;32700:14;32693:58;32785:7;32780:2;32772:6;32768:15;32761:32;32576:224;:::o;32806:366::-;32948:3;32969:67;33033:2;33028:3;32969:67;:::i;:::-;32962:74;;33045:93;33134:3;33045:93;:::i;:::-;33163:2;33158:3;33154:12;33147:19;;32806:366;;;:::o;33178:419::-;33344:4;33382:2;33371:9;33367:18;33359:26;;33431:9;33425:4;33421:20;33417:1;33406:9;33402:17;33395:47;33459:131;33585:4;33459:131;:::i;:::-;33451:139;;33178:419;;;:::o;33603:223::-;33743:34;33739:1;33731:6;33727:14;33720:58;33812:6;33807:2;33799:6;33795:15;33788:31;33603:223;:::o;33832:366::-;33974:3;33995:67;34059:2;34054:3;33995:67;:::i;:::-;33988:74;;34071:93;34160:3;34071:93;:::i;:::-;34189:2;34184:3;34180:12;34173:19;;33832:366;;;:::o;34204:419::-;34370:4;34408:2;34397:9;34393:18;34385:26;;34457:9;34451:4;34447:20;34443:1;34432:9;34428:17;34421:47;34485:131;34611:4;34485:131;:::i;:::-;34477:139;;34204:419;;;:::o;34629:191::-;34669:4;34689:20;34707:1;34689:20;:::i;:::-;34684:25;;34723:20;34741:1;34723:20;:::i;:::-;34718:25;;34762:1;34759;34756:8;34753:34;;;34767:18;;:::i;:::-;34753:34;34812:1;34809;34805:9;34797:17;;34629:191;;;;:::o;34826:305::-;34866:3;34885:20;34903:1;34885:20;:::i;:::-;34880:25;;34919:20;34937:1;34919:20;:::i;:::-;34914:25;;35073:1;35005:66;35001:74;34998:1;34995:81;34992:107;;;35079:18;;:::i;:::-;34992:107;35123:1;35120;35116:9;35109:16;;34826:305;;;;:::o;35137:173::-;35277:25;35273:1;35265:6;35261:14;35254:49;35137:173;:::o;35316:402::-;35476:3;35497:85;35579:2;35574:3;35497:85;:::i;:::-;35490:92;;35591:93;35680:3;35591:93;:::i;:::-;35709:2;35704:3;35700:12;35693:19;;35316:402;;;:::o;35724:167::-;35864:19;35860:1;35852:6;35848:14;35841:43;35724:167;:::o;35897:402::-;36057:3;36078:85;36160:2;36155:3;36078:85;:::i;:::-;36071:92;;36172:93;36261:3;36172:93;:::i;:::-;36290:2;36285:3;36281:12;36274:19;;35897:402;;;:::o;36305:967::-;36687:3;36709:148;36853:3;36709:148;:::i;:::-;36702:155;;36874:95;36965:3;36956:6;36874:95;:::i;:::-;36867:102;;36986:148;37130:3;36986:148;:::i;:::-;36979:155;;37151:95;37242:3;37233:6;37151:95;:::i;:::-;37144:102;;37263:3;37256:10;;36305:967;;;;;:::o;37278:175::-;37418:27;37414:1;37406:6;37402:14;37395:51;37278:175;:::o;37459:366::-;37601:3;37622:67;37686:2;37681:3;37622:67;:::i;:::-;37615:74;;37698:93;37787:3;37698:93;:::i;:::-;37816:2;37811:3;37807:12;37800:19;;37459:366;;;:::o;37831:419::-;37997:4;38035:2;38024:9;38020:18;38012:26;;38084:9;38078:4;38074:20;38070:1;38059:9;38055:17;38048:47;38112:131;38238:4;38112:131;:::i;:::-;38104:139;;37831:419;;;:::o;38256:237::-;38396:34;38392:1;38384:6;38380:14;38373:58;38465:20;38460:2;38452:6;38448:15;38441:45;38256:237;:::o;38499:366::-;38641:3;38662:67;38726:2;38721:3;38662:67;:::i;:::-;38655:74;;38738:93;38827:3;38738:93;:::i;:::-;38856:2;38851:3;38847:12;38840:19;;38499:366;;;:::o;38871:419::-;39037:4;39075:2;39064:9;39060:18;39052:26;;39124:9;39118:4;39114:20;39110:1;39099:9;39095:17;39088:47;39152:131;39278:4;39152:131;:::i;:::-;39144:139;;38871:419;;;:::o;39296:180::-;39344:77;39341:1;39334:88;39441:4;39438:1;39431:15;39465:4;39462:1;39455:15;39482:185;39522:1;39539:20;39557:1;39539:20;:::i;:::-;39534:25;;39573:20;39591:1;39573:20;:::i;:::-;39568:25;;39612:1;39602:35;;39617:18;;:::i;:::-;39602:35;39659:1;39656;39652:9;39647:14;;39482:185;;;;:::o;39673:176::-;39705:1;39722:20;39740:1;39722:20;:::i;:::-;39717:25;;39756:20;39774:1;39756:20;:::i;:::-;39751:25;;39795:1;39785:35;;39800:18;;:::i;:::-;39785:35;39841:1;39838;39834:9;39829:14;;39673:176;;;;:::o;39855:182::-;39995:34;39991:1;39983:6;39979:14;39972:58;39855:182;:::o;40043:366::-;40185:3;40206:67;40270:2;40265:3;40206:67;:::i;:::-;40199:74;;40282:93;40371:3;40282:93;:::i;:::-;40400:2;40395:3;40391:12;40384:19;;40043:366;;;:::o;40415:419::-;40581:4;40619:2;40608:9;40604:18;40596:26;;40668:9;40662:4;40658:20;40654:1;40643:9;40639:17;40632:47;40696:131;40822:4;40696:131;:::i;:::-;40688:139;;40415:419;;;:::o;40840:178::-;40980:30;40976:1;40968:6;40964:14;40957:54;40840:178;:::o;41024:366::-;41166:3;41187:67;41251:2;41246:3;41187:67;:::i;:::-;41180:74;;41263:93;41352:3;41263:93;:::i;:::-;41381:2;41376:3;41372:12;41365:19;;41024:366;;;:::o;41396:419::-;41562:4;41600:2;41589:9;41585:18;41577:26;;41649:9;41643:4;41639:20;41635:1;41624:9;41620:17;41613:47;41677:131;41803:4;41677:131;:::i;:::-;41669:139;;41396:419;;;:::o;41821:348::-;41861:7;41884:20;41902:1;41884:20;:::i;:::-;41879:25;;41918:20;41936:1;41918:20;:::i;:::-;41913:25;;42106:1;42038:66;42034:74;42031:1;42028:81;42023:1;42016:9;42009:17;42005:105;42002:131;;;42113:18;;:::i;:::-;42002:131;42161:1;42158;42154:9;42143:20;;41821:348;;;;:::o;42175:171::-;42214:3;42237:24;42255:5;42237:24;:::i;:::-;42228:33;;42283:4;42276:5;42273:15;42270:41;;;42291:18;;:::i;:::-;42270:41;42338:1;42331:5;42327:13;42320:20;;42175:171;;;:::o;42352:182::-;42492:34;42488:1;42480:6;42476:14;42469:58;42352:182;:::o;42540:366::-;42682:3;42703:67;42767:2;42762:3;42703:67;:::i;:::-;42696:74;;42779:93;42868:3;42779:93;:::i;:::-;42897:2;42892:3;42888:12;42881:19;;42540:366;;;:::o;42912:419::-;43078:4;43116:2;43105:9;43101:18;43093:26;;43165:9;43159:4;43155:20;43151:1;43140:9;43136:17;43129:47;43193:131;43319:4;43193:131;:::i;:::-;43185:139;;42912:419;;;:::o;43337:98::-;43388:6;43422:5;43416:12;43406:22;;43337:98;;;:::o;43441:168::-;43524:11;43558:6;43553:3;43546:19;43598:4;43593:3;43589:14;43574:29;;43441:168;;;;:::o;43615:360::-;43701:3;43729:38;43761:5;43729:38;:::i;:::-;43783:70;43846:6;43841:3;43783:70;:::i;:::-;43776:77;;43862:52;43907:6;43902:3;43895:4;43888:5;43884:16;43862:52;:::i;:::-;43939:29;43961:6;43939:29;:::i;:::-;43934:3;43930:39;43923:46;;43705:270;43615:360;;;;:::o;43981:640::-;44176:4;44214:3;44203:9;44199:19;44191:27;;44228:71;44296:1;44285:9;44281:17;44272:6;44228:71;:::i;:::-;44309:72;44377:2;44366:9;44362:18;44353:6;44309:72;:::i;:::-;44391;44459:2;44448:9;44444:18;44435:6;44391:72;:::i;:::-;44510:9;44504:4;44500:20;44495:2;44484:9;44480:18;44473:48;44538:76;44609:4;44600:6;44538:76;:::i;:::-;44530:84;;43981:640;;;;;;;:::o;44627:141::-;44683:5;44714:6;44708:13;44699:22;;44730:32;44756:5;44730:32;:::i;:::-;44627:141;;;;:::o;44774:349::-;44843:6;44892:2;44880:9;44871:7;44867:23;44863:32;44860:119;;;44898:79;;:::i;:::-;44860:119;45018:1;45043:63;45098:7;45089:6;45078:9;45074:22;45043:63;:::i;:::-;45033:73;;44989:127;44774:349;;;;:::o;45129:180::-;45177:77;45174:1;45167:88;45274:4;45271:1;45264:15;45298:4;45295:1;45288:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\nimport \"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\";\nimport \"@openzeppelin/contracts/utils/Context.sol\";\ncontract NFT is ERC721Enumerable, AccessControl {\n using EnumerableSet for EnumerableSet.UintSet;\n using Strings for uint256;\n\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n\n\n string public baseURI;\n string public detailURI;\n mapping(uint => Nft) tokenIdToNft;\n mapping(address => EnumerableSet.UintSet) nftTokenId;\n\n\n\n struct Nft {\n uint256 configID;\n }\n event Mint(address to, uint tokenId, uint configId);\n event BatchMint(address to, uint256[] tokenIds, uint256[] configId);\n\n constructor( string memory name_, string memory symbol_, string memory baseURI_, string memory detailURI_) ERC721(name_, symbol_) {\n _grantRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _grantRole(MINTER_ROLE, msg.sender);\n baseURI = baseURI_;\n detailURI = detailURI_;\n }\n\n modifier onlyMinter() {\n hasRole(MINTER_ROLE, _msgSender());\n _checkRole(MINTER_ROLE, _msgSender());\n _;\n }\n\n function mint_(address to, uint256 tokenId, uint configId) internal{\n Nft memory nft = Nft(\n configId\n );\n tokenIdToNft[tokenId] = nft;\n nftTokenId[to].add(tokenId);\n _mint(to, tokenId);\n }\n\n function mint(address to, uint256 tokenId, uint configId) external onlyRole(MINTER_ROLE) {\n mint_(to, tokenId, configId);\n emit Mint(to, tokenId, configId);\n }\n\n function batchMint(address to, uint256[] calldata tokenIds, uint256[] calldata configIds) external onlyRole(MINTER_ROLE) {\n require(tokenIds.length == configIds.length, \"length error\");\n for(uint256 i = 0; i < tokenIds.length; i ++){\n mint_(to, tokenIds[i], configIds[i]);\n }\n emit BatchMint(to, tokenIds, configIds);\n }\n\n function tokenURI(uint256 tokenId) public view override returns (string memory) {\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n uint256 configID = tokenIdToNft[tokenId].configID;\n return string(abi.encodePacked(baseURI, \"/\", configID.toString(), \"/\", tokenId.toString()));\n }\n\n function setBaseURI(string memory baseURI_) public onlyRole(DEFAULT_ADMIN_ROLE) {\n baseURI = baseURI_;\n }\n\n function setDetailURI(string memory detailURI_) public onlyRole(DEFAULT_ADMIN_ROLE) {\n detailURI = detailURI_;\n }\n\n\n function addMinter(address account) external {\n grantRole(MINTER_ROLE, account);\n }\n\n function renounceMinter(address account) external onlyMinter {\n renounceRole(MINTER_ROLE, account);\n }\n\n function detail(uint tokenId) external view returns (string memory){\n require(_exists(tokenId), \"ERC721: invalid token ID\");\n uint256 configID = tokenIdToNft[tokenId].configID;\n return string(abi.encodePacked(detailURI, \"/\", configID.toString()));\n }\n\n // The following functions are overrides required by Solidity.\n function supportsInterface(bytes4 interfaceId) public view override(ERC721Enumerable, AccessControl) returns (bool) {\n return super.supportsInterface(interfaceId);\n }\n}", - "sourcePath": "/Users/zhl/Documents/workspace/crypto/metacene_contracts/contracts/Nft.sol", + "sourceMap": "195:4554:13:-:0;;;295:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;764:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;864:5;871:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;886:46:13::1;409:24;2072:4:0;913:18:13::0;::::1;886:13;;;:46;;:::i;:::-;938:44;473:22;2072:4:0;963:18:13::0;::::1;938:13;;;:44;;:::i;:::-;988;535:22;2072:4:0;1013:18:13::0;::::1;988:13;;;:44;;:::i;:::-;1039:42;2072:4:0;1050:18:13::0;::::1;1070:10;1039;;;:42;;:::i;:::-;1087:35;409:24;1111:10;1087;;;:35;;:::i;:::-;1128:33;473:22;1150:10;1128;;;:33;;:::i;:::-;1167;535:22;1189:10;1167;;;:33;;:::i;:::-;1220:11;1206:25;;;;::::0;::::1;764:472:::0;;;195:4554;;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:4554: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:4554:13:-;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "195:4554:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4354:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3537:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;561:36:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2380:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4726:330:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;499:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2516:77:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:179:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4566:181:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1616:578;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1798:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2247:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3401:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:235:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2920:91:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3836:138:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2650:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2647:87:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2786:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:320:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;437:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:329:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;371:62:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;247:44:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3077:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4502:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3693:103:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4354:208;4500:4;4521:36;4545:11;4521:23;:36::i;:::-;4514:43;;4354: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;561:36:13:-;;;:::o;2380:83::-;2431:27;409:24;2455:2;2431:10;:27::i;:::-;2380: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;499:58:13:-;535:22;499: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;2516:77:13:-;2564:24;473:22;2585:2;2564:9;:24::i;:::-;2516: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;4566:181:13:-;4633:41;4652:12;:10;:12::i;:::-;4666:7;4633:18;:41::i;:::-;4618:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;4728:14;4734:7;4728:5;:14::i;:::-;4566:181;:::o;1616:578::-;1726:16;409:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1750:13:13::1;1766:8;:15;1750:31;;1804:3;1795:5;:12;;1787:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1853:1;1839:11;:15;1835:134;;;1908:11;1898:5;1882:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1881:38;;1864:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1835:134;1979:9;1974:161;1998:5;1994:1;:9;1974:161;;;2032:1;2018:10;;:15;;;;;;;:::i;:::-;;;;;;;;2041;2059:10;;2041:28;;2077:22;2087:2;2091:7;2077:9;:22::i;:::-;2121:7;2107:8;2116:1;2107:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2010:125;2005:3;;;;;:::i;:::-;;;;1974:161;;;;2155:2;2145:23;;;2159:8;2145:23;;;;;;:::i;:::-;;;;;;;;2181:8;2174:15;;;1616:578:::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;2247:79:13:-;2295:26;409:24;2318:2;2295:9;:26::i;:::-;2247:79;:::o;3401:250::-;535:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3477:16:13::1;3485:7;3477;:16::i;:::-;3469:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3533:12;:21;3546:7;3533:21;;;;;;;;;;;;;;;;;;;;;3525:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3615:5;3591:12;:21;3604:7;3591:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3638:7;3631:15;;;;;;;;;;3401: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;2920:91:13:-;2976:30;535:22;2998:7;2976:10;:30::i;:::-;2920: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;3836:138:13:-;2072:4:0;3915:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3957:12:13::1;;3941:13;:28;;;;;;;:::i;:::-;;3836:138:::0;;;:::o;2650:102:2:-;2706:13;2738:7;2731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:102;:::o;2647:87:13:-;2701:28;473:22;2723:5;2701:10;:28::i;:::-;2647:87;:::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;2786:79:13:-;2836:24;535:22;2857:2;2836:9;:24::i;:::-;2786: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;437:58:13:-;473:22;437: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;371:62:13:-;409:24;371: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;247:44:13:-;;;;;;;;;;;;;;;;;;;;;;:::o;3077:244::-;535:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3151:16:13::1;3159:7;3151;:16::i;:::-;3143:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3208:12;:21;3221:7;3208:21;;;;;;;;;;;;;;;;;;;;;3207:22;3199:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3288:4;3264:12;:21;3277:7;3264:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3308:7;3303:13;;;;;;;;;;3077: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;3693:103:13:-;3751:4;3770:12;:21;3783:7;3770:21;;;;;;;;;;;;;;;;;;;;;3763:28;;3693: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;9722:406:2:-;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;8116:108::-;8191:26;8201:2;8205:7;8191:26;;;;;;;;;;;;:9;:26::i;:::-;8116:108;;:::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;1240:106:13:-;1300:13;1328;1321:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1240: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;4036:259:13:-;4184:12;:21;4197:7;4184:21;;;;;;;;;;;;;;;;;;;;;4183:22;4175:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4245:45;4272:4;4278:2;4282:7;4245:26;:45::i;:::-;4036: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;:::-;;;;;;;;;;;;;;;;;;;;;:::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: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:114::-;10827:6;10861:5;10855:12;10845:22;;10760:114;;;:::o;10880:184::-;10979:11;11013:6;11008:3;11001:19;11053:4;11048:3;11044:14;11029:29;;10880:184;;;;:::o;11070:132::-;11137:4;11160:3;11152:11;;11190:4;11185:3;11181:14;11173:22;;11070:132;;;:::o;11208:108::-;11285:24;11303:5;11285:24;:::i;:::-;11280:3;11273:37;11208:108;;:::o;11322:179::-;11391:10;11412:46;11454:3;11446:6;11412:46;:::i;:::-;11490:4;11485:3;11481:14;11467:28;;11322:179;;;;:::o;11507:113::-;11577:4;11609;11604:3;11600:14;11592:22;;11507:113;;;:::o;11656:732::-;11775:3;11804:54;11852:5;11804:54;:::i;:::-;11874:86;11953:6;11948:3;11874:86;:::i;:::-;11867:93;;11984:56;12034:5;11984:56;:::i;:::-;12063:7;12094:1;12079:284;12104:6;12101:1;12098:13;12079:284;;;12180:6;12174:13;12207:63;12266:3;12251:13;12207:63;:::i;:::-;12200:70;;12293:60;12346:6;12293:60;:::i;:::-;12283:70;;12139:224;12126:1;12123;12119:9;12114:14;;12079:284;;;12083:14;12379:3;12372:10;;11780:608;;;11656:732;;;;:::o;12394:373::-;12537:4;12575:2;12564:9;12560:18;12552:26;;12624:9;12618:4;12614:20;12610:1;12599:9;12595:17;12588:47;12652:108;12755:4;12746:6;12652:108;:::i;:::-;12644:116;;12394:373;;;;:::o;12773:117::-;12882:1;12879;12872:12;12910:553;12968:8;12978:6;13028:3;13021:4;13013:6;13009:17;13005:27;12995:122;;13036:79;;:::i;:::-;12995:122;13149:6;13136:20;13126:30;;13179:18;13171:6;13168:30;13165:117;;;13201:79;;:::i;:::-;13165:117;13315:4;13307:6;13303:17;13291:29;;13369:3;13361:4;13353:6;13349:17;13339:8;13335:32;13332:41;13329:128;;;13376:79;;:::i;:::-;13329:128;12910:553;;;;;:::o;13469:529::-;13540:6;13548;13597:2;13585:9;13576:7;13572:23;13568:32;13565:119;;;13603:79;;:::i;:::-;13565:119;13751:1;13740:9;13736:17;13723:31;13781:18;13773:6;13770:30;13767:117;;;13803:79;;:::i;:::-;13767:117;13916:65;13973:7;13964:6;13953:9;13949:22;13916:65;:::i;:::-;13898:83;;;;13694:297;13469:529;;;;;:::o;14004:116::-;14074:21;14089:5;14074:21;:::i;:::-;14067:5;14064:32;14054:60;;14110:1;14107;14100:12;14054:60;14004:116;:::o;14126:133::-;14169:5;14207:6;14194:20;14185:29;;14223:30;14247:5;14223:30;:::i;:::-;14126:133;;;;:::o;14265:468::-;14330:6;14338;14387:2;14375:9;14366:7;14362:23;14358:32;14355:119;;;14393:79;;:::i;:::-;14355:119;14513:1;14538:53;14583:7;14574:6;14563:9;14559:22;14538:53;:::i;:::-;14528:63;;14484:117;14640:2;14666:50;14708:7;14699:6;14688:9;14684:22;14666:50;:::i;:::-;14656:60;;14611:115;14265:468;;;;;:::o;14739:117::-;14848:1;14845;14838:12;14862:307;14923:4;15013:18;15005:6;15002:30;14999:56;;;15035:18;;:::i;:::-;14999:56;15073:29;15095:6;15073:29;:::i;:::-;15065:37;;15157:4;15151;15147:15;15139:23;;14862:307;;;:::o;15175:154::-;15259:6;15254:3;15249;15236:30;15321:1;15312:6;15307:3;15303:16;15296:27;15175:154;;;:::o;15335:410::-;15412:5;15437:65;15453:48;15494:6;15453:48;:::i;:::-;15437:65;:::i;:::-;15428:74;;15525:6;15518:5;15511:21;15563:4;15556:5;15552:16;15601:3;15592:6;15587:3;15583:16;15580:25;15577:112;;;15608:79;;:::i;:::-;15577:112;15698:41;15732:6;15727:3;15722;15698:41;:::i;:::-;15418:327;15335:410;;;;;:::o;15764:338::-;15819:5;15868:3;15861:4;15853:6;15849:17;15845:27;15835:122;;15876:79;;:::i;:::-;15835:122;15993:6;15980:20;16018:78;16092:3;16084:6;16077:4;16069:6;16065:17;16018:78;:::i;:::-;16009:87;;15825:277;15764:338;;;;:::o;16108:943::-;16203:6;16211;16219;16227;16276:3;16264:9;16255:7;16251:23;16247:33;16244:120;;;16283:79;;:::i;:::-;16244:120;16403:1;16428:53;16473:7;16464:6;16453:9;16449:22;16428:53;:::i;:::-;16418:63;;16374:117;16530:2;16556:53;16601:7;16592:6;16581:9;16577:22;16556:53;:::i;:::-;16546:63;;16501:118;16658:2;16684:53;16729:7;16720:6;16709:9;16705:22;16684:53;:::i;:::-;16674:63;;16629:118;16814:2;16803:9;16799:18;16786:32;16845:18;16837:6;16834:30;16831:117;;;16867:79;;:::i;:::-;16831:117;16972:62;17026:7;17017:6;17006:9;17002:22;16972:62;:::i;:::-;16962:72;;16757:287;16108:943;;;;;;;:::o;17057:474::-;17125:6;17133;17182:2;17170:9;17161:7;17157:23;17153:32;17150:119;;;17188:79;;:::i;:::-;17150:119;17308:1;17333:53;17378:7;17369:6;17358:9;17354:22;17333:53;:::i;:::-;17323:63;;17279:117;17435:2;17461:53;17506:7;17497:6;17486:9;17482:22;17461:53;:::i;:::-;17451:63;;17406:118;17057:474;;;;;:::o;17537:180::-;17585:77;17582:1;17575:88;17682:4;17679:1;17672:15;17706:4;17703:1;17696:15;17723:320;17767:6;17804:1;17798:4;17794:12;17784:22;;17851:1;17845:4;17841:12;17872:18;17862:81;;17928:4;17920:6;17916:17;17906:27;;17862:81;17990:2;17982:6;17979:14;17959:18;17956:38;17953:84;;;18009:18;;:::i;:::-;17953:84;17774:269;17723:320;;;:::o;18049:231::-;18189:34;18185:1;18177:6;18173:14;18166:58;18258:14;18253:2;18245:6;18241:15;18234:39;18049:231;:::o;18286:366::-;18428:3;18449:67;18513:2;18508:3;18449:67;:::i;:::-;18442:74;;18525:93;18614:3;18525:93;:::i;:::-;18643:2;18638:3;18634:12;18627:19;;18286:366;;;:::o;18658:419::-;18824:4;18862:2;18851:9;18847:18;18839:26;;18911:9;18905:4;18901:20;18897:1;18886:9;18882:17;18875:47;18939:131;19065:4;18939:131;:::i;:::-;18931:139;;18658:419;;;:::o;19083:220::-;19223:34;19219:1;19211:6;19207:14;19200:58;19292:3;19287:2;19279:6;19275:15;19268:28;19083:220;:::o;19309:366::-;19451:3;19472:67;19536:2;19531:3;19472:67;:::i;:::-;19465:74;;19548:93;19637:3;19548:93;:::i;:::-;19666:2;19661:3;19657:12;19650:19;;19309:366;;;:::o;19681:419::-;19847:4;19885:2;19874:9;19870:18;19862:26;;19934:9;19928:4;19924:20;19920:1;19909:9;19905:17;19898:47;19962:131;20088:4;19962:131;:::i;:::-;19954:139;;19681:419;;;:::o;20106:243::-;20246:34;20242:1;20234:6;20230:14;20223:58;20315:26;20310:2;20302:6;20298:15;20291:51;20106:243;:::o;20355:366::-;20497:3;20518:67;20582:2;20577:3;20518:67;:::i;:::-;20511:74;;20594:93;20683:3;20594:93;:::i;:::-;20712:2;20707:3;20703:12;20696:19;;20355:366;;;:::o;20727:419::-;20893:4;20931:2;20920:9;20916:18;20908:26;;20980:9;20974:4;20970:20;20966:1;20955:9;20951:17;20944:47;21008:131;21134:4;21008:131;:::i;:::-;21000:139;;20727:419;;;:::o;21152:236::-;21292:34;21288:1;21280:6;21276:14;21269:58;21361:19;21356:2;21348:6;21344:15;21337:44;21152:236;:::o;21394:366::-;21536:3;21557:67;21621:2;21616:3;21557:67;:::i;:::-;21550:74;;21633:93;21722:3;21633:93;:::i;:::-;21751:2;21746:3;21742:12;21735:19;;21394:366;;;:::o;21766:419::-;21932:4;21970:2;21959:9;21955:18;21947:26;;22019:9;22013:4;22009:20;22005:1;21994:9;21990:17;21983:47;22047:131;22173:4;22047:131;:::i;:::-;22039:139;;21766:419;;;:::o;22191:230::-;22331:34;22327:1;22319:6;22315:14;22308:58;22400:13;22395:2;22387:6;22383:15;22376:38;22191:230;:::o;22427:366::-;22569:3;22590:67;22654:2;22649:3;22590:67;:::i;:::-;22583:74;;22666:93;22755:3;22666:93;:::i;:::-;22784:2;22779:3;22775:12;22768:19;;22427:366;;;:::o;22799:419::-;22965:4;23003:2;22992:9;22988:18;22980:26;;23052:9;23046:4;23042:20;23038:1;23027:9;23023:17;23016:47;23080:131;23206:4;23080:131;:::i;:::-;23072:139;;22799:419;;;:::o;23224:234::-;23364:34;23360:1;23352:6;23348:14;23341:58;23433:17;23428:2;23420:6;23416:15;23409:42;23224:234;:::o;23464:366::-;23606:3;23627:67;23691:2;23686:3;23627:67;:::i;:::-;23620:74;;23703:93;23792:3;23703:93;:::i;:::-;23821:2;23816:3;23812:12;23805:19;;23464:366;;;:::o;23836:419::-;24002:4;24040:2;24029:9;24025:18;24017:26;;24089:9;24083:4;24079:20;24075:1;24064:9;24060:17;24053:47;24117:131;24243:4;24117:131;:::i;:::-;24109:139;;23836:419;;;:::o;24261:182::-;24401:34;24397:1;24389:6;24385:14;24378:58;24261:182;:::o;24449:366::-;24591:3;24612:67;24676:2;24671:3;24612:67;:::i;:::-;24605:74;;24688:93;24777:3;24688:93;:::i;:::-;24806:2;24801:3;24797:12;24790:19;;24449:366;;;:::o;24821:419::-;24987:4;25025:2;25014:9;25010:18;25002:26;;25074:9;25068:4;25064:20;25060:1;25049:9;25045:17;25038:47;25102:131;25228:4;25102:131;:::i;:::-;25094:139;;24821:419;;;:::o;25246:167::-;25386:19;25382:1;25374:6;25370:14;25363:43;25246:167;:::o;25419:366::-;25561:3;25582:67;25646:2;25641:3;25582:67;:::i;:::-;25575:74;;25658:93;25747:3;25658:93;:::i;:::-;25776:2;25771:3;25767:12;25760:19;;25419:366;;;:::o;25791:419::-;25957:4;25995:2;25984:9;25980:18;25972:26;;26044:9;26038:4;26034:20;26030:1;26019:9;26015:17;26008:47;26072:131;26198:4;26072:131;:::i;:::-;26064:139;;25791:419;;;:::o;26216:180::-;26264:77;26261:1;26254:88;26361:4;26358:1;26351:15;26385:4;26382:1;26375:15;26402:305;26442:3;26461:20;26479:1;26461:20;:::i;:::-;26456:25;;26495:20;26513:1;26495:20;:::i;:::-;26490:25;;26649:1;26581:66;26577:74;26574:1;26571:81;26568:107;;;26655:18;;:::i;:::-;26568:107;26699:1;26696;26692:9;26685:16;;26402:305;;;;:::o;26713:173::-;26853:25;26849:1;26841:6;26837:14;26830:49;26713:173;:::o;26892:366::-;27034:3;27055:67;27119:2;27114:3;27055:67;:::i;:::-;27048:74;;27131:93;27220:3;27131:93;:::i;:::-;27249:2;27244:3;27240:12;27233:19;;26892:366;;;:::o;27264:419::-;27430:4;27468:2;27457:9;27453:18;27445:26;;27517:9;27511:4;27507:20;27503:1;27492:9;27488:17;27481:47;27545:131;27671:4;27545:131;:::i;:::-;27537:139;;27264:419;;;:::o;27689:180::-;27737:77;27734:1;27727:88;27834:4;27831:1;27824:15;27858:4;27855:1;27848:15;27875:233;27914:3;27937:24;27955:5;27937:24;:::i;:::-;27928:33;;27983:66;27976:5;27973:77;27970:103;;;28053:18;;:::i;:::-;27970:103;28100:1;28093:5;28089:13;28082:20;;27875:233;;;:::o;28114:231::-;28254:34;28250:1;28242:6;28238:14;28231:58;28323:14;28318:2;28310:6;28306:15;28299:39;28114:231;:::o;28351:366::-;28493:3;28514:67;28578:2;28573:3;28514:67;:::i;:::-;28507:74;;28590:93;28679:3;28590:93;:::i;:::-;28708:2;28703:3;28699:12;28692:19;;28351:366;;;:::o;28723:419::-;28889:4;28927:2;28916:9;28912:18;28904:26;;28976:9;28970:4;28966:20;28962:1;28951:9;28947:17;28940:47;29004:131;29130:4;29004:131;:::i;:::-;28996:139;;28723:419;;;:::o;29148:171::-;29288:23;29284:1;29276:6;29272:14;29265:47;29148:171;:::o;29325:366::-;29467:3;29488:67;29552:2;29547:3;29488:67;:::i;:::-;29481:74;;29564:93;29653:3;29564:93;:::i;:::-;29682:2;29677:3;29673:12;29666:19;;29325:366;;;:::o;29697:419::-;29863:4;29901:2;29890:9;29886:18;29878:26;;29950:9;29944:4;29940:20;29936:1;29925:9;29921:17;29914:47;29978:131;30104:4;29978:131;:::i;:::-;29970:139;;29697:419;;;:::o;30122:176::-;30262:28;30258:1;30250:6;30246:14;30239:52;30122:176;:::o;30304:366::-;30446:3;30467:67;30531:2;30526:3;30467:67;:::i;:::-;30460:74;;30543:93;30632:3;30543:93;:::i;:::-;30661:2;30656:3;30652:12;30645:19;;30304:366;;;:::o;30676:419::-;30842:4;30880:2;30869:9;30865:18;30857:26;;30929:9;30923:4;30919:20;30915:1;30904:9;30900:17;30893:47;30957:131;31083:4;30957:131;:::i;:::-;30949:139;;30676:419;;;:::o;31101:228::-;31241:34;31237:1;31229:6;31225:14;31218:58;31310:11;31305:2;31297:6;31293:15;31286:36;31101:228;:::o;31335:366::-;31477:3;31498:67;31562:2;31557:3;31498:67;:::i;:::-;31491:74;;31574:93;31663:3;31574:93;:::i;:::-;31692:2;31687:3;31683:12;31676:19;;31335:366;;;:::o;31707:419::-;31873:4;31911:2;31900:9;31896:18;31888:26;;31960:9;31954:4;31950:20;31946:1;31935:9;31931:17;31924:47;31988:131;32114:4;31988:131;:::i;:::-;31980:139;;31707:419;;;:::o;32132:229::-;32272:34;32268:1;32260:6;32256:14;32249:58;32341:12;32336:2;32328:6;32324:15;32317:37;32132:229;:::o;32367:366::-;32509:3;32530:67;32594:2;32589:3;32530:67;:::i;:::-;32523:74;;32606:93;32695:3;32606:93;:::i;:::-;32724:2;32719:3;32715:12;32708:19;;32367:366;;;:::o;32739:419::-;32905:4;32943:2;32932:9;32928:18;32920:26;;32992:9;32986:4;32982:20;32978:1;32967:9;32963:17;32956:47;33020:131;33146:4;33020:131;:::i;:::-;33012:139;;32739:419;;;:::o;33164:234::-;33304:34;33300:1;33292:6;33288:14;33281:58;33373:17;33368:2;33360:6;33356:15;33349:42;33164:234;:::o;33404:366::-;33546:3;33567:67;33631:2;33626:3;33567:67;:::i;:::-;33560:74;;33643:93;33732:3;33643:93;:::i;:::-;33761:2;33756:3;33752:12;33745:19;;33404:366;;;:::o;33776:419::-;33942:4;33980:2;33969:9;33965:18;33957:26;;34029:9;34023:4;34019:20;34015:1;34004:9;34000:17;33993:47;34057:131;34183:4;34057:131;:::i;:::-;34049:139;;33776:419;;;:::o;34201:148::-;34303:11;34340:3;34325:18;;34201:148;;;;:::o;34355:377::-;34461:3;34489:39;34522:5;34489:39;:::i;:::-;34544:89;34626:6;34621:3;34544:89;:::i;:::-;34537:96;;34642:52;34687:6;34682:3;34675:4;34668:5;34664:16;34642:52;:::i;:::-;34719:6;34714:3;34710:16;34703:23;;34465:267;34355:377;;;;:::o;34738:435::-;34918:3;34940:95;35031:3;35022:6;34940:95;:::i;:::-;34933:102;;35052:95;35143:3;35134:6;35052:95;:::i;:::-;35045:102;;35164:3;35157:10;;34738:435;;;;;:::o;35179:174::-;35319:26;35315:1;35307:6;35303:14;35296:50;35179:174;:::o;35359:366::-;35501:3;35522:67;35586:2;35581:3;35522:67;:::i;:::-;35515:74;;35598:93;35687:3;35598:93;:::i;:::-;35716:2;35711:3;35707:12;35700:19;;35359:366;;;:::o;35731:419::-;35897:4;35935:2;35924:9;35920:18;35912:26;;35984:9;35978:4;35974:20;35970:1;35959:9;35955:17;35948:47;36012:131;36138:4;36012:131;:::i;:::-;36004:139;;35731:419;;;:::o;36156:231::-;36296:34;36292:1;36284:6;36280:14;36273:58;36365:14;36360:2;36352:6;36348:15;36341:39;36156:231;:::o;36393:366::-;36535:3;36556:67;36620:2;36615:3;36556:67;:::i;:::-;36549:74;;36632:93;36721:3;36632:93;:::i;:::-;36750:2;36745:3;36741:12;36734:19;;36393:366;;;:::o;36765:419::-;36931:4;36969:2;36958:9;36954:18;36946:26;;37018:9;37012:4;37008:20;37004:1;36993:9;36989:17;36982:47;37046:131;37172:4;37046:131;:::i;:::-;37038:139;;36765:419;;;:::o;37190:224::-;37330:34;37326:1;37318:6;37314:14;37307:58;37399:7;37394:2;37386:6;37382:15;37375:32;37190:224;:::o;37420:366::-;37562:3;37583:67;37647:2;37642:3;37583:67;:::i;:::-;37576:74;;37659:93;37748:3;37659:93;:::i;:::-;37777:2;37772:3;37768:12;37761:19;;37420:366;;;:::o;37792:419::-;37958:4;37996:2;37985:9;37981:18;37973:26;;38045:9;38039:4;38035:20;38031:1;38020:9;38016:17;38009:47;38073:131;38199:4;38073:131;:::i;:::-;38065:139;;37792:419;;;:::o;38217:223::-;38357:34;38353:1;38345:6;38341:14;38334:58;38426:6;38421:2;38413:6;38409:15;38402:31;38217:223;:::o;38446:366::-;38588:3;38609:67;38673:2;38668:3;38609:67;:::i;:::-;38602:74;;38685:93;38774:3;38685:93;:::i;:::-;38803:2;38798:3;38794:12;38787:19;;38446:366;;;:::o;38818:419::-;38984:4;39022:2;39011:9;39007:18;38999:26;;39071:9;39065:4;39061:20;39057:1;39046:9;39042:17;39035:47;39099:131;39225:4;39099:131;:::i;:::-;39091:139;;38818:419;;;:::o;39243:191::-;39283:4;39303:20;39321:1;39303:20;:::i;:::-;39298:25;;39337:20;39355:1;39337:20;:::i;:::-;39332:25;;39376:1;39373;39370:8;39367:34;;;39381:18;;:::i;:::-;39367:34;39426:1;39423;39419:9;39411:17;;39243:191;;;;:::o;39440:173::-;39580:25;39576:1;39568:6;39564:14;39557:49;39440:173;:::o;39619:402::-;39779:3;39800:85;39882:2;39877:3;39800:85;:::i;:::-;39793:92;;39894:93;39983:3;39894:93;:::i;:::-;40012:2;40007:3;40003:12;39996:19;;39619:402;;;:::o;40027:167::-;40167:19;40163:1;40155:6;40151:14;40144:43;40027:167;:::o;40200:402::-;40360:3;40381:85;40463:2;40458:3;40381:85;:::i;:::-;40374:92;;40475:93;40564:3;40475:93;:::i;:::-;40593:2;40588:3;40584:12;40577:19;;40200:402;;;:::o;40608:967::-;40990:3;41012:148;41156:3;41012:148;:::i;:::-;41005:155;;41177:95;41268:3;41259:6;41177:95;:::i;:::-;41170:102;;41289:148;41433:3;41289:148;:::i;:::-;41282:155;;41454:95;41545:3;41536:6;41454:95;:::i;:::-;41447:102;;41566:3;41559:10;;40608:967;;;;;:::o;41581:175::-;41721:27;41717:1;41709:6;41705:14;41698:51;41581:175;:::o;41762:366::-;41904:3;41925:67;41989:2;41984:3;41925:67;:::i;:::-;41918:74;;42001:93;42090:3;42001:93;:::i;:::-;42119:2;42114:3;42110:12;42103:19;;41762:366;;;:::o;42134:419::-;42300:4;42338:2;42327:9;42323:18;42315:26;;42387:9;42381:4;42377:20;42373:1;42362:9;42358:17;42351:47;42415:131;42541:4;42415:131;:::i;:::-;42407:139;;42134:419;;;:::o;42559:237::-;42699:34;42695:1;42687:6;42683:14;42676:58;42768:20;42763:2;42755:6;42751:15;42744:45;42559:237;:::o;42802:366::-;42944:3;42965:67;43029:2;43024:3;42965:67;:::i;:::-;42958:74;;43041:93;43130:3;43041:93;:::i;:::-;43159:2;43154:3;43150:12;43143:19;;42802:366;;;:::o;43174:419::-;43340:4;43378:2;43367:9;43363:18;43355:26;;43427:9;43421:4;43417:20;43413:1;43402:9;43398:17;43391:47;43455:131;43581:4;43455:131;:::i;:::-;43447:139;;43174:419;;;:::o;43599:180::-;43647:77;43644:1;43637:88;43744:4;43741:1;43734:15;43768:4;43765:1;43758:15;43785:185;43825:1;43842:20;43860:1;43842:20;:::i;:::-;43837:25;;43876:20;43894:1;43876:20;:::i;:::-;43871:25;;43915:1;43905:35;;43920:18;;:::i;:::-;43905:35;43962:1;43959;43955:9;43950:14;;43785:185;;;;:::o;43976:176::-;44008:1;44025:20;44043:1;44025:20;:::i;:::-;44020:25;;44059:20;44077:1;44059:20;:::i;:::-;44054:25;;44098:1;44088:35;;44103:18;;:::i;:::-;44088:35;44144:1;44141;44137:9;44132:14;;43976:176;;;;:::o;44158:179::-;44298:31;44294:1;44286:6;44282:14;44275:55;44158:179;:::o;44343:366::-;44485:3;44506:67;44570:2;44565:3;44506:67;:::i;:::-;44499:74;;44582:93;44671:3;44582:93;:::i;:::-;44700:2;44695:3;44691:12;44684:19;;44343:366;;;:::o;44715:419::-;44881:4;44919:2;44908:9;44904:18;44896:26;;44968:9;44962:4;44958:20;44954:1;44943:9;44939:17;44932:47;44996:131;45122:4;44996:131;:::i;:::-;44988:139;;44715:419;;;:::o;45140:348::-;45180:7;45203:20;45221:1;45203:20;:::i;:::-;45198:25;;45237:20;45255:1;45237:20;:::i;:::-;45232:25;;45425:1;45357:66;45353:74;45350:1;45347:81;45342:1;45335:9;45328:17;45324:105;45321:131;;;45432:18;;:::i;:::-;45321:131;45480:1;45477;45473:9;45462:20;;45140:348;;;;:::o;45494:171::-;45533:3;45556:24;45574:5;45556:24;:::i;:::-;45547:33;;45602:4;45595:5;45592:15;45589:41;;;45610:18;;:::i;:::-;45589:41;45657:1;45650:5;45646:13;45639:20;;45494:171;;;:::o;45671:182::-;45811:34;45807:1;45799:6;45795:14;45788:58;45671:182;:::o;45859:366::-;46001:3;46022:67;46086:2;46081:3;46022:67;:::i;:::-;46015:74;;46098:93;46187:3;46098:93;:::i;:::-;46216:2;46211:3;46207:12;46200:19;;45859:366;;;:::o;46231:419::-;46397:4;46435:2;46424:9;46420:18;46412:26;;46484:9;46478:4;46474:20;46470:1;46459:9;46455:17;46448:47;46512:131;46638:4;46512:131;:::i;:::-;46504:139;;46231:419;;;:::o;46656:98::-;46707:6;46741:5;46735:12;46725:22;;46656:98;;;:::o;46760:168::-;46843:11;46877:6;46872:3;46865:19;46917:4;46912:3;46908:14;46893:29;;46760:168;;;;:::o;46934:360::-;47020:3;47048:38;47080:5;47048:38;:::i;:::-;47102:70;47165:6;47160:3;47102:70;:::i;:::-;47095:77;;47181:52;47226:6;47221:3;47214:4;47207:5;47203:16;47181:52;:::i;:::-;47258:29;47280:6;47258:29;:::i;:::-;47253:3;47249:39;47242:46;;47024:270;46934:360;;;;:::o;47300:640::-;47495:4;47533:3;47522:9;47518:19;47510:27;;47547:71;47615:1;47604:9;47600:17;47591:6;47547:71;:::i;:::-;47628:72;47696:2;47685:9;47681:18;47672:6;47628:72;:::i;:::-;47710;47778:2;47767:9;47763:18;47754:6;47710:72;:::i;:::-;47829:9;47823:4;47819:20;47814:2;47803:9;47799:18;47792:48;47857:76;47928:4;47919:6;47857:76;:::i;:::-;47849:84;;47300:640;;;;;;;:::o;47946:141::-;48002:5;48033:6;48027:13;48018:22;;48049:32;48075:5;48049:32;:::i;:::-;47946:141;;;;:::o;48093:349::-;48162:6;48211:2;48199:9;48190:7;48186:23;48182:32;48179:119;;;48217:79;;:::i;:::-;48179:119;48337:1;48362:63;48417:7;48408:6;48397:9;48393:22;48362:63;:::i;:::-;48352:73;;48308:127;48093:349;;;;:::o;48448:182::-;48588:34;48584:1;48576:6;48572:14;48565:58;48448:182;:::o;48636:366::-;48778:3;48799:67;48863:2;48858:3;48799:67;:::i;:::-;48792:74;;48875:93;48964:3;48875:93;:::i;:::-;48993:2;48988:3;48984:12;48977:19;;48636:366;;;:::o;49008:419::-;49174:4;49212:2;49201:9;49197:18;49189:26;;49261:9;49255:4;49251:20;49247:1;49236:9;49232:17;49225:47;49289:131;49415:4;49289:131;:::i;:::-;49281:139;;49008:419;;;:::o;49433:178::-;49573:30;49569:1;49561:6;49557:14;49550:54;49433:178;:::o;49617:366::-;49759:3;49780:67;49844:2;49839:3;49780:67;:::i;:::-;49773:74;;49856:93;49945:3;49856:93;:::i;:::-;49974:2;49969:3;49965:12;49958:19;;49617:366;;;:::o;49989:419::-;50155:4;50193:2;50182:9;50178:18;50170:26;;50242:9;50236:4;50232:20;50228:1;50217:9;50213:17;50206:47;50270:131;50396:4;50270:131;:::i;:::-;50262:139;;49989:419;;;:::o;50414:180::-;50462:77;50459:1;50452:88;50559:4;50556:1;50549:15;50583:4;50580:1;50573: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 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 /**\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) returns (uint256[] memory) {\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 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 function burn(uint256 tokenId) public 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/Nft.sol", + "absolutePath": "project:/contracts/tokens/erc721/NFT.sol", "exportedSymbols": { "AccessControl": [ - 319 + 308 ], "Address": [ - 3061 + 2072 ], "Context": [ - 3083 + 2094 ], "ERC165": [ - 3333 + 2321 ], "ERC721": [ - 2209 + 1247 ], "ERC721Enumerable": [ - 2681 - ], - "EnumerableSet": [ - 4256 + 1719 ], "IAccessControl": [ - 392 + 381 ], "IERC165": [ - 3345 + 2333 ], "IERC721": [ - 2325 + 1363 ], "IERC721Enumerable": [ - 2712 + 1750 ], "IERC721Metadata": [ - 2739 + 1777 ], "IERC721Receiver": [ - 2343 + 1381 ], "NFT": [ - 4914 + 2764 ], "Strings": [ - 3309 + 2297 ] }, - "id": 4915, + "id": 2765, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 4552, + "id": 2335, "literals": [ "solidity", - "^", "0.8", - ".0" + ".10" ], "nodeType": "PragmaDirective", - "src": "32:23:24" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "@openzeppelin/contracts/utils/Strings.sol", - "id": 4553, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 3310, - "src": "56:51:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 4554, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 2210, - "src": "108:57:24", - "symbolAliases": [], - "unitAlias": "" + "src": "32:23:13" }, { "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "id": 4555, + "id": 2336, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 2682, - "src": "166:78:24", + "scope": 2765, + "sourceUnit": 1720, + "src": "56:78:13", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 4556, + "id": 2337, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 320, - "src": "245:58:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", - "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", - "id": 4557, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 4257, - "src": "304:65:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "@openzeppelin/contracts/utils/Context.sol", - "id": 4558, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4915, - "sourceUnit": 3084, - "src": "370:51:24", + "scope": 2765, + "sourceUnit": 309, + "src": "135:58:13", "symbolAliases": [], "unitAlias": "" }, @@ -23160,112 +25067,151 @@ "baseContracts": [ { "baseName": { - "id": 4559, - "name": "ERC721Enumerable", + "id": 2338, + "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 2681, - "src": "438:16:24" + "referencedDeclaration": 308, + "src": "211:13:13" }, - "id": 4560, + "id": 2339, "nodeType": "InheritanceSpecifier", - "src": "438:16:24" + "src": "211:13:13" }, { "baseName": { - "id": 4561, - "name": "AccessControl", + "id": 2340, + "name": "ERC721Enumerable", "nodeType": "IdentifierPath", - "referencedDeclaration": 319, - "src": "456:13:24" + "referencedDeclaration": 1719, + "src": "226:16:13" }, - "id": 4562, + "id": 2341, "nodeType": "InheritanceSpecifier", - "src": "456:13:24" + "src": "226:16:13" } ], "canonicalName": "NFT", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 4914, + "id": 2764, "linearizedBaseContracts": [ - 4914, - 319, - 2681, - 2712, - 2209, - 2739, - 2325, - 3333, - 3345, - 392, - 3083 + 2764, + 1719, + 1750, + 1247, + 1777, + 1363, + 308, + 2321, + 2333, + 381, + 2094 ], "name": "NFT", - "nameLocation": "431:3:24", + "nameLocation": "204:3:13", "nodeType": "ContractDefinition", "nodes": [ { - "id": 4566, - "libraryName": { - "id": 4563, - "name": "EnumerableSet", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4256, - "src": "482:13:24" + "constant": false, + "functionSelector": "dcec3294", + "id": 2345, + "mutability": "mutable", + "name": "lockedTokens", + "nameLocation": "279:12:13", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "247:44:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" }, - "nodeType": "UsingForDirective", - "src": "476:46:24", "typeName": { - "id": 4565, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4564, - "name": "EnumerableSet.UintSet", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4126, - "src": "500:21:24" + "id": 2344, + "keyType": { + "id": 2342, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "255:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "referencedDeclaration": 4126, - "src": "500:21:24", + "nodeType": "Mapping", + "src": "247:24:13", "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$4126_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 2343, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "266:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } } - } + }, + "visibility": "public" }, { - "id": 4569, - "libraryName": { - "id": 4567, - "name": "Strings", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3309, - "src": "533:7:24" + "constant": false, + "id": 2348, + "mutability": "mutable", + "name": "_baseTokenURI", + "nameLocation": "310:13:13", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "295:72:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" }, - "nodeType": "UsingForDirective", - "src": "527:26:24", "typeName": { - "id": 4568, - "name": "uint256", + "id": 2346, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "545:7:24", + "src": "295:6:13", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } - } + }, + "value": { + "hexValue": "68747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "id": 2347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "326: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": 4574, + "id": 2353, "mutability": "constant", "name": "MINTER_ROLE", - "nameLocation": "583:11:24", + "nameLocation": "395:11:13", "nodeType": "VariableDeclaration", - "scope": 4914, - "src": "559:62:24", + "scope": 2764, + "src": "371:62:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -23273,10 +25219,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 4570, + "id": 2349, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "559:7:24", + "src": "371:7:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23286,14 +25232,14 @@ "arguments": [ { "hexValue": "4d494e5445525f524f4c45", - "id": 4572, + "id": 2351, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "607:13:24", + "src": "419:13:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", "typeString": "literal_string \"MINTER_ROLE\"" @@ -23308,18 +25254,18 @@ "typeString": "literal_string \"MINTER_ROLE\"" } ], - "id": 4571, + "id": 2350, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "597:9:24", + "src": "409:9:13", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4573, + "id": 2352, "isConstant": false, "isLValue": false, "isPure": true, @@ -23327,7 +25273,167 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "597:24:24", + "src": "409:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "b930908f", + "id": 2358, + "mutability": "constant", + "name": "BURN_ROLE", + "nameLocation": "461:9:13", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "437:58:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2354, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "437:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4255524e5f524f4c45", + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "483:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + }, + "value": "BURN_ROLE" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", + "typeString": "literal_string \"BURN_ROLE\"" + } + ], + "id": 2355, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "473:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "473:22:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "2f286b1b", + "id": 2363, + "mutability": "constant", + "name": "LOCK_ROLE", + "nameLocation": "523:9:13", + "nodeType": "VariableDeclaration", + "scope": 2764, + "src": "499:58:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2359, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "499:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4c4f434b5f524f4c45", + "id": 2361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "545:11:13", + "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": 2360, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "535:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "535:22:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -23338,254 +25444,79 @@ }, { "constant": false, - "functionSelector": "6c0360eb", - "id": 4576, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "643:7:24", + "functionSelector": "19d1997a", + "id": 2365, + "mutability": "immutable", + "name": "supplyLimit", + "nameLocation": "586:11:13", "nodeType": "VariableDeclaration", - "scope": 4914, - "src": "629:21:24", + "scope": 2764, + "src": "561:36:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 4575, - "name": "string", + "id": 2364, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "629:6:24", + "src": "561:7:13", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "public" }, { "constant": false, - "functionSelector": "74f962e0", - "id": 4578, + "id": 2367, "mutability": "mutable", - "name": "detailURI", - "nameLocation": "670:9:24", + "name": "tokenIndex", + "nameLocation": "609:10:13", "nodeType": "VariableDeclaration", - "scope": 4914, - "src": "656:23:24", + "scope": 2764, + "src": "601:18:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 4577, - "name": "string", + "id": 2366, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "656:6:24", + "src": "601:7:13", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "id": 4583, - "mutability": "mutable", - "name": "tokenIdToNft", - "nameLocation": "706:12:24", - "nodeType": "VariableDeclaration", - "scope": 4914, - "src": "685:33:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Nft_$4591_storage_$", - "typeString": "mapping(uint256 => struct NFT.Nft)" - }, - "typeName": { - "id": 4582, - "keyType": { - "id": 4579, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "693:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "685:20:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Nft_$4591_storage_$", - "typeString": "mapping(uint256 => struct NFT.Nft)" - }, - "valueType": { - "id": 4581, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4580, - "name": "Nft", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4591, - "src": "701:3:24" - }, - "referencedDeclaration": 4591, - "src": "701:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage_ptr", - "typeString": "struct NFT.Nft" - } + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" }, - { - "constant": false, - "id": 4588, - "mutability": "mutable", - "name": "nftTokenId", - "nameLocation": "767:10:24", - "nodeType": "VariableDeclaration", - "scope": 4914, - "src": "724:53:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4126_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "typeName": { - "id": 4587, - "keyType": { - "id": 4584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "732:7:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "724:41:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4126_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "valueType": { - "id": 4586, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4585, - "name": "EnumerableSet.UintSet", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4126, - "src": "743:21:24" - }, - "referencedDeclaration": 4126, - "src": "743:21:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$4126_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - "visibility": "internal" - }, - { - "canonicalName": "NFT.Nft", - "id": 4591, - "members": [ - { - "constant": false, - "id": 4590, - "mutability": "mutable", - "name": "configID", - "nameLocation": "815:8:24", - "nodeType": "VariableDeclaration", - "scope": 4591, - "src": "807:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "Nft", - "nameLocation": "793:3:24", - "nodeType": "StructDefinition", - "scope": 4914, - "src": "786:44:24", - "visibility": "public" - }, { "anonymous": false, - "id": 4599, - "name": "Mint", - "nameLocation": "841:4:24", + "id": 2371, + "name": "Lock", + "nameLocation": "630:4:13", "nodeType": "EventDefinition", "parameters": { - "id": 4598, + "id": 2370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4593, - "indexed": false, - "mutability": "mutable", - "name": "to", - "nameLocation": "854:2:24", - "nodeType": "VariableDeclaration", - "scope": 4599, - "src": "846:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "846:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4595, - "indexed": false, + "id": 2369, + "indexed": true, "mutability": "mutable", "name": "tokenId", - "nameLocation": "863:7:24", + "nameLocation": "651:7:13", "nodeType": "VariableDeclaration", - "scope": 4599, - "src": "858:12:24", + "scope": 2371, + "src": "635:23:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23593,38 +25524,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4594, - "name": "uint", + "id": 2368, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "858:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4597, - "indexed": false, - "mutability": "mutable", - "name": "configId", - "nameLocation": "877:8:24", - "nodeType": "VariableDeclaration", - "scope": 4599, - "src": "872:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4596, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "872:4:24", + "src": "635:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23633,30 +25536,73 @@ "visibility": "internal" } ], - "src": "845:41:24" + "src": "634:25:13" }, - "src": "835:52:24" + "src": "624:36:13" }, { "anonymous": false, - "id": 4609, - "name": "BatchMint", - "nameLocation": "898:9:24", + "id": 2375, + "name": "UnLock", + "nameLocation": "669:6:13", "nodeType": "EventDefinition", "parameters": { - "id": 4608, + "id": 2374, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4601, - "indexed": false, + "id": 2373, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "692:7:13", + "nodeType": "VariableDeclaration", + "scope": 2375, + "src": "676:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2372, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "676:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "675:25:13" + }, + "src": "663:38:13" + }, + { + "anonymous": false, + "id": 2382, + "name": "BatchMint", + "nameLocation": "710:9:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2377, + "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "916:2:24", + "nameLocation": "736:2:13", "nodeType": "VariableDeclaration", - "scope": 4609, - "src": "908:10:24", + "scope": 2382, + "src": "720:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23664,10 +25610,10 @@ "typeString": "address" }, "typeName": { - "id": 4600, + "id": 2376, "name": "address", "nodeType": "ElementaryTypeName", - "src": "908:7:24", + "src": "720:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23678,14 +25624,14 @@ }, { "constant": false, - "id": 4604, + "id": 2380, "indexed": false, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "930:8:24", + "nameLocation": "750:8:13", "nodeType": "VariableDeclaration", - "scope": 4609, - "src": "920:18:24", + "scope": 2382, + "src": "740:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23694,55 +25640,18 @@ }, "typeName": { "baseType": { - "id": 4602, + "id": 2378, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "920:7:24", + "src": "740:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4603, + "id": 2379, "nodeType": "ArrayTypeName", - "src": "920:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4607, - "indexed": false, - "mutability": "mutable", - "name": "configId", - "nameLocation": "950:8:24", - "nodeType": "VariableDeclaration", - "scope": 4609, - "src": "940:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "940:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4606, - "nodeType": "ArrayTypeName", - "src": "940:9:24", + "src": "740:9:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -23751,55 +25660,41 @@ "visibility": "internal" } ], - "src": "907:52:24" + "src": "719:40:13" }, - "src": "892:68:24" + "src": "704:56:13" }, { "body": { - "id": 4644, + "id": 2438, "nodeType": "Block", - "src": "1097:164:24", + "src": "880:356:13", "statements": [ { "expression": { "arguments": [ { - "id": 4625, - "name": "DEFAULT_ADMIN_ROLE", + "id": 2396, + "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1118:18:24", + "referencedDeclaration": 2353, + "src": "900:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "expression": { - "id": 4626, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967281, - "src": "1138:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1138:10:24", + "id": 2397, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "913:18:13", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } } ], @@ -23810,22 +25705,22 @@ "typeString": "bytes32" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } ], - "id": 4624, - "name": "_grantRole", + "id": 2395, + "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "1107:10:24", + "referencedDeclaration": 244, + "src": "886:13:13", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" } }, - "id": 4628, + "id": 2398, "isConstant": false, "isLValue": false, "isPure": false, @@ -23833,27 +25728,165 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1107:42:24", + "src": "886:46:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4629, + "id": 2399, "nodeType": "ExpressionStatement", - "src": "1107:42:24" + "src": "886:46:13" }, { "expression": { "arguments": [ { - "id": 4631, - "name": "MINTER_ROLE", + "id": 2401, + "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "1170:11:24", + "referencedDeclaration": 2358, + "src": "952:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2402, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "963:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2400, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "938:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "938:44:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2404, + "nodeType": "ExpressionStatement", + "src": "938:44:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2406, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "1002:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2407, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1013:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2405, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "988:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 2408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "988:44:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2409, + "nodeType": "ExpressionStatement", + "src": "988:44:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2411, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1050:18:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -23861,25 +25894,25 @@ }, { "expression": { - "id": 4632, + "id": 2412, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1183:3:24", + "src": "1070:3:13", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 4633, + "id": 2413, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1183:10:24", + "src": "1070:10:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -23897,18 +25930,18 @@ "typeString": "address" } ], - "id": 4630, - "name": "_grantRole", + "id": 2410, + "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 287, - "src": "1159:10:24", + "referencedDeclaration": 216, + "src": "1039:10:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 4634, + "id": 2414, "isConstant": false, "isLValue": false, "isPure": false, @@ -23916,165 +25949,371 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1159:35:24", + "src": "1039:42:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4635, + "id": 2415, "nodeType": "ExpressionStatement", - "src": "1159:35:24" + "src": "1039:42:13" }, { "expression": { - "id": 4638, + "arguments": [ + { + "id": 2417, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "1098:11:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 2418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1111:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1111:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2416, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "1087:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1087:35:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2421, + "nodeType": "ExpressionStatement", + "src": "1087:35:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2423, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2358, + "src": "1139:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 2424, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1150:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1150:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2422, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "1128:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1128:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2427, + "nodeType": "ExpressionStatement", + "src": "1128:33:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2429, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "1178:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 2430, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "1189:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2431, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1189:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2428, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "1167:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1167:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2433, + "nodeType": "ExpressionStatement", + "src": "1167:33:13" + }, + { + "expression": { + "id": 2436, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4636, - "name": "baseURI", + "id": 2434, + "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4576, - "src": "1204:7:24", + "referencedDeclaration": 2365, + "src": "1206:11:13", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4637, - "name": "baseURI_", + "id": 2435, + "name": "_supplyLimt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4615, - "src": "1214:8:24", + "referencedDeclaration": 2388, + "src": "1220:11:13", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "src": "1204:18:24", + "src": "1206:25:13", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, - "id": 4639, + "id": 2437, "nodeType": "ExpressionStatement", - "src": "1204:18:24" - }, - { - "expression": { - "id": 4642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4640, - "name": "detailURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4578, - "src": "1232:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4641, - "name": "detailURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4617, - "src": "1244:10:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1232:22:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4643, - "nodeType": "ExpressionStatement", - "src": "1232:22:24" + "src": "1206:25:13" } ] }, - "id": 4645, + "id": 2439, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 4620, - "name": "name_", + "id": 2391, + "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4611, - "src": "1081:5:24", + "referencedDeclaration": 2384, + "src": "864:5:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 4621, - "name": "symbol_", + "id": 2392, + "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4613, - "src": "1088:7:24", + "referencedDeclaration": 2386, + "src": "871:7:13", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 4622, + "id": 2393, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 4619, + "id": 2390, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 2209, - "src": "1074:6:24" + "referencedDeclaration": 1247, + "src": "857:6:13" }, "nodeType": "ModifierInvocation", - "src": "1074:22:24" + "src": "857:22:13" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 4618, + "id": 2389, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4611, + "id": 2384, "mutability": "mutable", - "name": "name_", - "nameLocation": "993:5:24", + "name": "_name", + "nameLocation": "795:5:13", "nodeType": "VariableDeclaration", - "scope": 4645, - "src": "979:19:24", + "scope": 2439, + "src": "781:19:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24082,10 +26321,10 @@ "typeString": "string" }, "typeName": { - "id": 4610, + "id": 2383, "name": "string", "nodeType": "ElementaryTypeName", - "src": "979:6:24", + "src": "781:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -24095,13 +26334,13 @@ }, { "constant": false, - "id": 4613, + "id": 2386, "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1014:7:24", + "name": "_symbol", + "nameLocation": "820:7:13", "nodeType": "VariableDeclaration", - "scope": 4645, - "src": "1000:21:24", + "scope": 2439, + "src": "806:21:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -24109,10 +26348,10 @@ "typeString": "string" }, "typeName": { - "id": 4612, + "id": 2385, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1000:6:24", + "src": "806:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -24122,1036 +26361,203 @@ }, { "constant": false, - "id": 4615, + "id": 2388, "mutability": "mutable", - "name": "baseURI_", - "nameLocation": "1037:8:24", + "name": "_supplyLimt", + "nameLocation": "841:11:13", "nodeType": "VariableDeclaration", - "scope": 4645, - "src": "1023:22:24", + "scope": 2439, + "src": "833:19:13", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 4614, - "name": "string", + "id": 2387, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1023:6:24", + "src": "833:7:13", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4617, - "mutability": "mutable", - "name": "detailURI_", - "nameLocation": "1062:10:24", - "nodeType": "VariableDeclaration", - "scope": 4645, - "src": "1047:25:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4616, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1047:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "src": "977:96:24" + "src": "775:81:13" }, "returnParameters": { - "id": 4623, + "id": 2394, "nodeType": "ParameterList", "parameters": [], - "src": "1097:0:24" + "src": "880:0:13" }, - "scope": 4914, - "src": "966:295:24", + "scope": 2764, + "src": "764:472:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { + "baseFunctions": [ + 598 + ], "body": { - "id": 4660, + "id": 2447, "nodeType": "Block", - "src": "1289:109:24", + "src": "1315:31:13", "statements": [ { "expression": { - "arguments": [ - { - "id": 4648, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "1307:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4649, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "1320:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1320:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4647, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 79, - "src": "1299:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1299:34:24", - "tryCall": false, + "id": 2445, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2348, + "src": "1328:13:13", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "id": 4652, - "nodeType": "ExpressionStatement", - "src": "1299:34:24" - }, - { - "expression": { - "arguments": [ - { - "id": 4654, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "1354:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4655, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "1367:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 4656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1367:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4653, - "name": "_checkRole", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 92, - 135 - ], - "referencedDeclaration": 135, - "src": "1343:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address) view" - } - }, - "id": 4657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1343:37:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4658, - "nodeType": "ExpressionStatement", - "src": "1343:37:24" - }, - { - "id": 4659, - "nodeType": "PlaceholderStatement", - "src": "1390:1:24" + "functionReturnParameters": 2444, + "id": 2446, + "nodeType": "Return", + "src": "1321:20:13" } ] }, - "id": 4661, - "name": "onlyMinter", - "nameLocation": "1276:10:24", - "nodeType": "ModifierDefinition", + "id": 2448, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "1249:8:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2441, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1282:8:13" + }, "parameters": { - "id": 4646, + "id": 2440, "nodeType": "ParameterList", "parameters": [], - "src": "1286:2:24" + "src": "1257:2:13" }, - "src": "1267:131:24", - "virtual": false, + "returnParameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2443, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2448, + "src": "1300:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2442, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1300:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1299:15:13" + }, + "scope": 2764, + "src": "1240:106:13", + "stateMutability": "view", + "virtual": true, "visibility": "internal" }, { "body": { - "id": 4695, + "id": 2529, "nodeType": "Block", - "src": "1471:171:24", + "src": "1744:450:13", "statements": [ { "assignments": [ - 4672 + 2464 ], "declarations": [ { "constant": false, - "id": 4672, + "id": 2464, "mutability": "mutable", - "name": "nft", - "nameLocation": "1492:3:24", + "name": "count", + "nameLocation": "1758:5:13", "nodeType": "VariableDeclaration", - "scope": 4695, - "src": "1481:14:24", + "scope": 2529, + "src": "1750:13:13", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_memory_ptr", - "typeString": "struct NFT.Nft" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 4671, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4670, - "name": "Nft", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4591, - "src": "1481:3:24" - }, - "referencedDeclaration": 4591, - "src": "1481:3:24", + "id": 2463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1750:7:13", "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage_ptr", - "typeString": "struct NFT.Nft" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "visibility": "internal" } ], - "id": 4676, + "id": 2467, "initialValue": { - "arguments": [ - { - "id": 4674, - "name": "configId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4667, - "src": "1515:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4673, - "name": "Nft", + "id": 2465, + "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4591, - "src": "1498:3:24", + "referencedDeclaration": 2454, + "src": "1766:8:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Nft_$4591_storage_ptr_$", - "typeString": "type(struct NFT.Nft storage pointer)" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } }, - "id": 4675, + "id": 2466, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "structConstructorCall", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1498:35:24", - "tryCall": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1766:15:13", "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_memory_ptr", - "typeString": "struct NFT.Nft memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "1481:52:24" + "src": "1750:31:13" }, - { - "expression": { - "id": 4681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4677, - "name": "tokenIdToNft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4583, - "src": "1543:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Nft_$4591_storage_$", - "typeString": "mapping(uint256 => struct NFT.Nft storage ref)" - } - }, - "id": 4679, - "indexExpression": { - "id": 4678, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4665, - "src": "1556:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1543:21:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage", - "typeString": "struct NFT.Nft storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4680, - "name": "nft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4672, - "src": "1567:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_memory_ptr", - "typeString": "struct NFT.Nft memory" - } - }, - "src": "1543:27:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage", - "typeString": "struct NFT.Nft storage ref" - } - }, - "id": 4682, - "nodeType": "ExpressionStatement", - "src": "1543:27:24" - }, - { - "expression": { - "arguments": [ - { - "id": 4687, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4665, - "src": "1599:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 4683, - "name": "nftTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4588, - "src": "1580:10:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4126_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 4685, - "indexExpression": { - "id": 4684, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4663, - "src": "1591:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1580:14:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$4126_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 4686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 4147, - "src": "1580:18:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$4126_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$4126_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 4688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1580:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4689, - "nodeType": "ExpressionStatement", - "src": "1580:27:24" - }, - { - "expression": { - "arguments": [ - { - "id": 4691, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4663, - "src": "1623:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4692, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4665, - "src": "1627:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4690, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1919, - "src": "1617:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 4693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1617:18:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4694, - "nodeType": "ExpressionStatement", - "src": "1617:18:24" - } - ] - }, - "id": 4696, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint_", - "nameLocation": "1413:5:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4663, - "mutability": "mutable", - "name": "to", - "nameLocation": "1427:2:24", - "nodeType": "VariableDeclaration", - "scope": 4696, - "src": "1419:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1419:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4665, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1439:7:24", - "nodeType": "VariableDeclaration", - "scope": 4696, - "src": "1431:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1431:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4667, - "mutability": "mutable", - "name": "configId", - "nameLocation": "1453:8:24", - "nodeType": "VariableDeclaration", - "scope": 4696, - "src": "1448:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4666, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1448:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1418:44:24" - }, - "returnParameters": { - "id": 4669, - "nodeType": "ParameterList", - "parameters": [], - "src": "1471:0:24" - }, - "scope": 4914, - "src": "1404:238:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4720, - "nodeType": "Block", - "src": "1737:85:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4709, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "1752:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4710, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4700, - "src": "1756:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4711, - "name": "configId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4702, - "src": "1765:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4708, - "name": "mint_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4696, - "src": "1746:5:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 4712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4713, - "nodeType": "ExpressionStatement", - "src": "1746:28:24" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4715, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "1793:2:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4716, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4700, - "src": "1797:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4717, - "name": "configId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4702, - "src": "1806:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4714, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4599, - "src": "1788:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 4718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1788:27:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4719, - "nodeType": "EmitStatement", - "src": "1783:32:24" - } - ] - }, - "functionSelector": "156e29f6", - "id": 4721, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 4705, - "name": "MINTER_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "1724:11:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4706, - "kind": "modifierInvocation", - "modifierName": { - "id": 4704, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "1715:8:24" - }, - "nodeType": "ModifierInvocation", - "src": "1715:21:24" - } - ], - "name": "mint", - "nameLocation": "1657:4:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4703, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4698, - "mutability": "mutable", - "name": "to", - "nameLocation": "1670:2:24", - "nodeType": "VariableDeclaration", - "scope": 4721, - "src": "1662:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4697, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1662:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4700, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1682:7:24", - "nodeType": "VariableDeclaration", - "scope": 4721, - "src": "1674:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4702, - "mutability": "mutable", - "name": "configId", - "nameLocation": "1696:8:24", - "nodeType": "VariableDeclaration", - "scope": 4721, - "src": "1691:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4701, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1691:4:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1661:44:24" - }, - "returnParameters": { - "id": 4707, - "nodeType": "ParameterList", - "parameters": [], - "src": "1737:0:24" - }, - "scope": 4914, - "src": "1648:174:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4773, - "nodeType": "Block", - "src": "1949:241:24", - "statements": [ { "expression": { "arguments": [ @@ -25160,86 +26566,62 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4740, + "id": 2471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "expression": { - "id": 4736, - "name": "tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4726, - "src": "1967:8:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1967:15:24", + "id": 2469, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2464, + "src": "1795:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "==", + "operator": "<=", "rightExpression": { - "expression": { - "id": 4738, - "name": "configIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4729, - "src": "1986:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4739, + "hexValue": "313030", + "id": 2470, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "number", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1986:16:24", + "nodeType": "Literal", + "src": "1804:3:13", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" }, - "src": "1967:35:24", + "src": "1795:12:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "6c656e677468206572726f72", - "id": 4741, + "hexValue": "746f6b656e49647320746f6f206d616e79", + "id": 2472, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2004:14:24", + "src": "1809:19:13", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839", - "typeString": "literal_string \"length error\"" + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" }, - "value": "length error" + "value": "tokenIds too many" } ], "expression": { @@ -25249,11 +26631,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_1211e291a5fc226ff84735b78da6a491026596463c2cdd910d52e39d6bfe3839", - "typeString": "literal_string \"length error\"" + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" } ], - "id": 4735, + "id": 2468, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -25261,13 +26643,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1959:7:24", + "src": "1787:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4742, + "id": 2473, "isConstant": false, "isLValue": false, "isPure": false, @@ -25275,107 +26657,369 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1959:60:24", + "src": "1787:42:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4743, + "id": 2474, "nodeType": "ExpressionStatement", - "src": "1959:60:24" + "src": "1787:42:13" }, { - "body": { - "id": 4765, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2475, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1839:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1853:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1839:15:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2490, + "nodeType": "IfStatement", + "src": "1835:134:13", + "trueBody": { + "id": 2489, "nodeType": "Block", - "src": "2074:61:24", + "src": "1856:113:13", "statements": [ { "expression": { "arguments": [ { - "id": 4756, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2479, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1470, + "src": "1882:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1882:13:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2481, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2464, + "src": "1898:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1882:21:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2483, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1881:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 2484, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "1908:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1881:38:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 2486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1929:25:13", + "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": 2478, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "1864:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1864:98:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2488, + "nodeType": "ExpressionStatement", + "src": "1864:98:13" + } + ] + } + }, + { + "body": { + "id": 2520, + "nodeType": "Block", + "src": "2010:125:13", + "statements": [ + { + "expression": { + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2501, + "name": "tokenIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2367, + "src": "2018:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2502, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2032:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2018:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2504, + "nodeType": "ExpressionStatement", + "src": "2018:15:13" + }, + { + "assignments": [ + 2506 + ], + "declarations": [ + { + "constant": false, + "id": 2506, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2049:7:13", + "nodeType": "VariableDeclaration", + "scope": 2520, + "src": "2041:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2041:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2508, + "initialValue": { + "id": 2507, + "name": "tokenIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2367, + "src": "2059:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2041:28:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2510, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4723, - "src": "2094:2:24", + "referencedDeclaration": 2451, + "src": "2087:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "baseExpression": { - "id": 4757, - "name": "tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4726, - "src": "2098:8:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4759, - "indexExpression": { - "id": 4758, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "2107:1:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2098:11:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "id": 4760, - "name": "configIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4729, - "src": "2111:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4762, - "indexExpression": { - "id": 4761, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "2121:1:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2111:12:24", + "id": 2511, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2506, + "src": "2091:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25388,27 +27032,26 @@ "typeIdentifier": "t_address", "typeString": "address" }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" } ], - "id": 4755, - "name": "mint_", + "id": 2509, + "name": "_safeMint", "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4696, - "src": "2088:5:24", + "overloadedDeclarations": [ + 876, + 905 + ], + "referencedDeclaration": 876, + "src": "2077:9:13", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" } }, - "id": 4763, + "id": 2512, "isConstant": false, "isLValue": false, "isPure": false, @@ -25416,16 +27059,84 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2088:36:24", + "src": "2077:22:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4764, + "id": 2513, "nodeType": "ExpressionStatement", - "src": "2088:36:24" + "src": "2077:22:13" + }, + { + "expression": { + "id": 2518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2514, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "2107:8:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 2516, + "indexExpression": { + "id": 2515, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2492, + "src": "2116:1:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2107:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2517, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2506, + "src": "2121:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2107:21:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2519, + "nodeType": "ExpressionStatement", + "src": "2107:21:13" } ] }, @@ -25434,18 +27145,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4751, + "id": 2497, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4748, + "id": 2495, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "2048:1:24", + "referencedDeclaration": 2492, + "src": "1994:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25454,52 +27165,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "expression": { - "id": 4749, - "name": "tokenIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4726, - "src": "2052:8:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2052:15:24", + "id": 2496, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2464, + "src": "1998:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2048:19:24", + "src": "1994:9:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 4766, + "id": 2521, "initializationExpression": { "assignments": [ - 4745 + 2492 ], "declarations": [ { "constant": false, - "id": 4745, + "id": 2492, "mutability": "mutable", "name": "i", - "nameLocation": "2041:1:24", + "nameLocation": "1987:1:13", "nodeType": "VariableDeclaration", - "scope": 4766, - "src": "2033:9:24", + "scope": 2521, + "src": "1979:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25507,10 +27204,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4744, + "id": 2491, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2033:7:24", + "src": "1979:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25519,17 +27216,17 @@ "visibility": "internal" } ], - "id": 4747, + "id": 2494, "initialValue": { "hexValue": "30", - "id": 4746, + "id": 2493, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2045:1:24", + "src": "1991:1:13", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25537,11 +27234,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2033:13:24" + "src": "1979:13:13" }, "loopExpression": { "expression": { - "id": 4753, + "id": 2499, "isConstant": false, "isLValue": false, "isPure": false, @@ -25549,14 +27246,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2069:4:24", + "src": "2005:3:13", "subExpression": { - "id": 4752, + "id": 2498, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "2069:1:24", + "referencedDeclaration": 2492, + "src": "2005:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25567,50 +27264,38 @@ "typeString": "uint256" } }, - "id": 4754, + "id": 2500, "nodeType": "ExpressionStatement", - "src": "2069:4:24" + "src": "2005:3:13" }, "nodeType": "ForStatement", - "src": "2029:106:24" + "src": "1974:161:13" }, { "eventCall": { "arguments": [ { - "id": 4768, + "id": 2523, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4723, - "src": "2159:2:24", + "referencedDeclaration": 2451, + "src": "2155:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 4769, + "id": 2524, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4726, - "src": "2163:8:24", + "referencedDeclaration": 2454, + "src": "2159:8:13", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - { - "id": 4770, - "name": "configIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4729, - "src": "2173:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } } ], @@ -25621,26 +27306,22 @@ "typeString": "address" }, { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" } ], - "id": 4767, + "id": 2522, "name": "BatchMint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4609, - "src": "2149:9:24", + "referencedDeclaration": 2382, + "src": "2145:9:13", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,uint256[] memory,uint256[] memory)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (address,uint256[] memory)" } }, - "id": 4771, + "id": 2525, "isConstant": false, "isLValue": false, "isPure": false, @@ -25648,68 +27329,92 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2149:34:24", + "src": "2145:23:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4772, + "id": 2526, "nodeType": "EmitStatement", - "src": "2144:39:24" + "src": "2140:28:13" + }, + { + "expression": { + "id": 2527, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2454, + "src": "2181:8:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 2462, + "id": 2528, + "nodeType": "Return", + "src": "2174:15:13" } ] }, - "functionSelector": "0ca83480", - "id": 4774, + "documentation": { + "id": 2449, + "nodeType": "StructuredDocumentation", + "src": "1350:262:13", + "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": 2530, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 4732, + "id": 2457, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "1936:11:24", + "referencedDeclaration": 2353, + "src": "1704:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 4733, + "id": 2458, "kind": "modifierInvocation", "modifierName": { - "id": 4731, + "id": 2456, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "1927:8:24" + "referencedDeclaration": 40, + "src": "1695:8:13" }, "nodeType": "ModifierInvocation", - "src": "1927:21:24" + "src": "1695:21:13" } ], "name": "batchMint", - "nameLocation": "1837:9:24", + "nameLocation": "1625:9:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 4730, + "id": 2455, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4723, + "id": 2451, "mutability": "mutable", "name": "to", - "nameLocation": "1855:2:24", + "nameLocation": "1648:2:13", "nodeType": "VariableDeclaration", - "scope": 4774, - "src": "1847:10:24", + "scope": 2530, + "src": "1640:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25717,10 +27422,10 @@ "typeString": "address" }, "typeName": { - "id": 4722, + "id": 2450, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1847:7:24", + "src": "1640:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25731,69 +27436,33 @@ }, { "constant": false, - "id": 4726, + "id": 2454, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "1878:8:24", + "nameLocation": "1673:8:13", "nodeType": "VariableDeclaration", - "scope": 4774, - "src": "1859:27:24", + "scope": 2530, + "src": "1656:25:13", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[]" }, "typeName": { "baseType": { - "id": 4724, + "id": 2452, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1859:7:24", + "src": "1656:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4725, + "id": 2453, "nodeType": "ArrayTypeName", - "src": "1859:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4729, - "mutability": "mutable", - "name": "configIds", - "nameLocation": "1907:9:24", - "nodeType": "VariableDeclaration", - "scope": 4774, - "src": "1888:28:24", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4727, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1888:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4728, - "nodeType": "ArrayTypeName", - "src": "1888:9:24", + "src": "1656:9:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -25802,864 +27471,85 @@ "visibility": "internal" } ], - "src": "1846:71:24" + "src": "1634:51:13" }, "returnParameters": { - "id": 4734, + "id": 2462, "nodeType": "ParameterList", - "parameters": [], - "src": "1949:0:24" + "parameters": [ + { + "constant": false, + "id": 2461, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2530, + "src": "1726:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 2459, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1726:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2460, + "nodeType": "ArrayTypeName", + "src": "1726:9:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "1725:18:13" }, - "scope": 4914, - "src": "1828:362:24", + "scope": 2764, + "src": "1616:578:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "baseFunctions": [ - 1547 - ], "body": { - "id": 4812, + "id": 2541, "nodeType": "Block", - "src": "2276:230:24", + "src": "2289:37:13", "statements": [ { "expression": { "arguments": [ { - "arguments": [ - { - "id": 4784, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4776, - "src": "2302:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4783, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1775, - "src": "2294:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 4785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2294:16:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 4786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2312:26:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - }, - "value": "ERC721: invalid token ID" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" - } - ], - "id": 4782, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 4294967278, - 4294967278 - ], - "referencedDeclaration": 4294967278, - "src": "2286:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2286:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4788, - "nodeType": "ExpressionStatement", - "src": "2286:53:24" - }, - { - "assignments": [ - 4790 - ], - "declarations": [ - { - "constant": false, - "id": 4790, - "mutability": "mutable", - "name": "configID", - "nameLocation": "2357:8:24", - "nodeType": "VariableDeclaration", - "scope": 4812, - "src": "2349:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2349:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4795, - "initialValue": { - "expression": { - "baseExpression": { - "id": 4791, - "name": "tokenIdToNft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4583, - "src": "2368:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Nft_$4591_storage_$", - "typeString": "mapping(uint256 => struct NFT.Nft storage ref)" - } - }, - "id": 4793, - "indexExpression": { - "id": 4792, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4776, - "src": "2381:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2368:21:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage", - "typeString": "struct NFT.Nft storage ref" - } - }, - "id": 4794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "configID", - "nodeType": "MemberAccess", - "referencedDeclaration": 4590, - "src": "2368:30:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2349:49:24" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 4800, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4576, - "src": "2439:7:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "hexValue": "2f", - "id": 4801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2448:3:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - "value": "/" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4802, - "name": "configID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4790, - "src": "2453:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 3171, - "src": "2453:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 4804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2453:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "hexValue": "2f", - "id": 4805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2474:3:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - "value": "/" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4806, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4776, - "src": "2479:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 3171, - "src": "2479:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 4808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2479:18:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 4798, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "2422:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2422:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2422:76:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2415:6:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 4796, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2415:6:24", - "typeDescriptions": {} - } - }, - "id": 4810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2415:84:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 4781, - "id": 4811, - "nodeType": "Return", - "src": "2408:91:24" - } - ] - }, - "functionSelector": "c87b56dd", - "id": 4813, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nameLocation": "2205:8:24", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4778, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2243:8:24" - }, - "parameters": { - "id": 4777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4776, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "2222:7:24", - "nodeType": "VariableDeclaration", - "scope": 4813, - "src": "2214:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2214:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2213:17:24" - }, - "returnParameters": { - "id": 4781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4780, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4813, - "src": "2261:13:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4779, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2261:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2260:15:24" - }, - "scope": 4914, - "src": "2196:310:24", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4825, - "nodeType": "Block", - "src": "2592:35:24", - "statements": [ - { - "expression": { - "id": 4823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4821, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4576, - "src": "2602:7:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4822, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "2612:8:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2602:18:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4824, - "nodeType": "ExpressionStatement", - "src": "2602:18:24" - } - ] - }, - "functionSelector": "55f804b3", - "id": 4826, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 4818, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "2572:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4819, - "kind": "modifierInvocation", - "modifierName": { - "id": 4817, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "2563:8:24" - }, - "nodeType": "ModifierInvocation", - "src": "2563:28:24" - } - ], - "name": "setBaseURI", - "nameLocation": "2521:10:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4816, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4815, - "mutability": "mutable", - "name": "baseURI_", - "nameLocation": "2546:8:24", - "nodeType": "VariableDeclaration", - "scope": 4826, - "src": "2532:22:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4814, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2532:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2531:24:24" - }, - "returnParameters": { - "id": 4820, - "nodeType": "ParameterList", - "parameters": [], - "src": "2592:0:24" - }, - "scope": 4914, - "src": "2512:115:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4838, - "nodeType": "Block", - "src": "2717:39:24", - "statements": [ - { - "expression": { - "id": 4836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4834, - "name": "detailURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4578, - "src": "2727:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4835, - "name": "detailURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4828, - "src": "2739:10:24", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2727:22:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4837, - "nodeType": "ExpressionStatement", - "src": "2727:22:24" - } - ] - }, - "functionSelector": "5a8632be", - "id": 4839, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 4831, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "2697:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 4832, - "kind": "modifierInvocation", - "modifierName": { - "id": 4830, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 38, - "src": "2688:8:24" - }, - "nodeType": "ModifierInvocation", - "src": "2688:28:24" - } - ], - "name": "setDetailURI", - "nameLocation": "2642:12:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4828, - "mutability": "mutable", - "name": "detailURI_", - "nameLocation": "2669:10:24", - "nodeType": "VariableDeclaration", - "scope": 4839, - "src": "2655:24:24", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4827, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2655:6:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "2654:26:24" - }, - "returnParameters": { - "id": 4833, - "nodeType": "ParameterList", - "parameters": [], - "src": "2717:0:24" - }, - "scope": 4914, - "src": "2633:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4849, - "nodeType": "Block", - "src": "2808:48:24", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4845, + "id": 2537, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "2828:11:24", + "referencedDeclaration": 2353, + "src": "2305:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4846, - "name": "account", + "id": 2538, + "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4841, - "src": "2841:7:24", + "referencedDeclaration": 2533, + "src": "2318:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26677,18 +27567,18 @@ "typeString": "address" } ], - "id": 4844, + "id": 2536, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 170, - "src": "2818:9:24", + "referencedDeclaration": 159, + "src": "2295:9:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 4847, + "id": 2539, "isConstant": false, "isLValue": false, "isPure": false, @@ -26696,40 +27586,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2818:31:24", + "src": "2295:26:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4848, + "id": 2540, "nodeType": "ExpressionStatement", - "src": "2818:31:24" + "src": "2295:26:13" } ] }, - "functionSelector": "983b2d56", - "id": 4850, + "documentation": { + "id": 2531, + "nodeType": "StructuredDocumentation", + "src": "2198:46:13", + "text": " @dev Grant mint role to address" + }, + "functionSelector": "530dd079", + "id": 2542, "implemented": true, "kind": "function", "modifiers": [], - "name": "addMinter", - "nameLocation": "2772:9:24", + "name": "setMintRole", + "nameLocation": "2256:11:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 4842, + "id": 2534, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4841, + "id": 2533, "mutability": "mutable", - "name": "account", - "nameLocation": "2790:7:24", + "name": "to", + "nameLocation": "2276:2:13", "nodeType": "VariableDeclaration", - "scope": 4850, - "src": "2782:15:24", + "scope": 2542, + "src": "2268:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26737,10 +27633,10 @@ "typeString": "address" }, "typeName": { - "id": 4840, + "id": 2532, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2782:7:24", + "src": "2268:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26750,48 +27646,48 @@ "visibility": "internal" } ], - "src": "2781:17:24" + "src": "2267:12:13" }, "returnParameters": { - "id": 4843, + "id": 2535, "nodeType": "ParameterList", "parameters": [], - "src": "2808:0:24" + "src": "2289:0:13" }, - "scope": 4914, - "src": "2763:93:24", + "scope": 2764, + "src": "2247:79:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 4862, + "id": 2553, "nodeType": "Block", - "src": "2923:51:24", + "src": "2425:38:13", "statements": [ { "expression": { "arguments": [ { - "id": 4858, + "id": 2549, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4574, - "src": "2946:11:24", + "referencedDeclaration": 2353, + "src": "2442:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 4859, - "name": "account", + "id": 2550, + "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4852, - "src": "2959:7:24", + "referencedDeclaration": 2545, + "src": "2455:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26809,18 +27705,18 @@ "typeString": "address" } ], - "id": 4857, - "name": "renounceRole", + "id": 2548, + "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2933:12:24", + "referencedDeclaration": 179, + "src": "2431:10:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 4860, + "id": 2551, "isConstant": false, "isLValue": false, "isPure": false, @@ -26828,54 +27724,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2933:34:24", + "src": "2431:27:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4861, + "id": 2552, "nodeType": "ExpressionStatement", - "src": "2933:34:24" + "src": "2431:27:13" } ] }, - "functionSelector": "5f112c68", - "id": 4863, + "documentation": { + "id": 2543, + "nodeType": "StructuredDocumentation", + "src": "2330:47:13", + "text": " @dev Remove mint role to address" + }, + "functionSelector": "1cf4e3ee", + "id": 2554, "implemented": true, "kind": "function", - "modifiers": [ - { - "id": 4855, - "kind": "modifierInvocation", - "modifierName": { - "id": 4854, - "name": "onlyMinter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4661, - "src": "2912:10:24" - }, - "nodeType": "ModifierInvocation", - "src": "2912:10:24" - } - ], - "name": "renounceMinter", - "nameLocation": "2871:14:24", + "modifiers": [], + "name": "removeMintRole", + "nameLocation": "2389:14:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 4853, + "id": 2546, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4852, + "id": 2545, "mutability": "mutable", - "name": "account", - "nameLocation": "2894:7:24", + "name": "to", + "nameLocation": "2412:2:13", "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "2886:15:24", + "scope": 2554, + "src": "2404:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26883,10 +27771,10 @@ "typeString": "address" }, "typeName": { - "id": 4851, + "id": 2544, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2886:7:24", + "src": "2404:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26896,25 +27784,577 @@ "visibility": "internal" } ], - "src": "2885:17:24" + "src": "2403:12:13" }, "returnParameters": { - "id": 4856, + "id": 2547, "nodeType": "ParameterList", "parameters": [], - "src": "2923:0:24" + "src": "2425:0:13" }, - "scope": 4914, - "src": "2862:112:24", + "scope": 2764, + "src": "2380:83:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 4896, + "id": 2565, "nodeType": "Block", - "src": "3047:207:24", + "src": "2558:35:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2561, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2358, + "src": "2574:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2562, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2557, + "src": "2585:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2560, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "2564:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2564:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2564, + "nodeType": "ExpressionStatement", + "src": "2564:24:13" + } + ] + }, + "documentation": { + "id": 2555, + "nodeType": "StructuredDocumentation", + "src": "2467:46:13", + "text": " @dev grant burn role to address" + }, + "functionSelector": "327ba615", + "id": 2566, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setBurnRole", + "nameLocation": "2525:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2557, + "mutability": "mutable", + "name": "to", + "nameLocation": "2545:2:13", + "nodeType": "VariableDeclaration", + "scope": 2566, + "src": "2537:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2537:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2536:12:13" + }, + "returnParameters": { + "id": 2559, + "nodeType": "ParameterList", + "parameters": [], + "src": "2558:0:13" + }, + "scope": 2764, + "src": "2516:77:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2577, + "nodeType": "Block", + "src": "2695:39:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2573, + "name": "BURN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2358, + "src": "2712:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2574, + "name": "proxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2569, + "src": "2723:5:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2572, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "2701:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2701:28:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2576, + "nodeType": "ExpressionStatement", + "src": "2701:28:13" + } + ] + }, + "documentation": { + "id": 2567, + "nodeType": "StructuredDocumentation", + "src": "2597:47:13", + "text": " @dev Remove burn role to address" + }, + "functionSelector": "965f4c60", + "id": 2578, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeBurnRole", + "nameLocation": "2656:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2570, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2569, + "mutability": "mutable", + "name": "proxy", + "nameLocation": "2679:5:13", + "nodeType": "VariableDeclaration", + "scope": 2578, + "src": "2671:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2671:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2670:15:13" + }, + "returnParameters": { + "id": 2571, + "nodeType": "ParameterList", + "parameters": [], + "src": "2695:0:13" + }, + "scope": 2764, + "src": "2647:87:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2589, + "nodeType": "Block", + "src": "2830:35:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2585, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "2846:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2586, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2581, + "src": "2857:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2584, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "2836:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2836:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2588, + "nodeType": "ExpressionStatement", + "src": "2836:24:13" + } + ] + }, + "documentation": { + "id": 2579, + "nodeType": "StructuredDocumentation", + "src": "2738:45:13", + "text": " @dev Add address for lock item" + }, + "functionSelector": "ace9e2e2", + "id": 2590, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "grantLockRole", + "nameLocation": "2795:13:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2582, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2581, + "mutability": "mutable", + "name": "to", + "nameLocation": "2817:2:13", + "nodeType": "VariableDeclaration", + "scope": 2590, + "src": "2809:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2809:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2808:12:13" + }, + "returnParameters": { + "id": 2583, + "nodeType": "ParameterList", + "parameters": [], + "src": "2830:0:13" + }, + "scope": 2764, + "src": "2786:79:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2601, + "nodeType": "Block", + "src": "2970:41:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2597, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "2987:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 2598, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2593, + "src": "2998:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2596, + "name": "revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 179, + "src": "2976:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2976:30:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2600, + "nodeType": "ExpressionStatement", + "src": "2976:30:13" + } + ] + }, + "documentation": { + "id": 2591, + "nodeType": "StructuredDocumentation", + "src": "2869:48:13", + "text": " @dev Remove address for lock item" + }, + "functionSelector": "79deb6e7", + "id": 2602, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "removeLockRole", + "nameLocation": "2929:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2593, + "mutability": "mutable", + "name": "account", + "nameLocation": "2952:7:13", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "2944:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2944:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2943:17:13" + }, + "returnParameters": { + "id": 2595, + "nodeType": "ParameterList", + "parameters": [], + "src": "2970:0:13" + }, + "scope": 2764, + "src": "2920:91:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2636, + "nodeType": "Block", + "src": "3137:184:13", "statements": [ { "expression": { @@ -26922,12 +28362,12 @@ { "arguments": [ { - "id": 4872, + "id": 2613, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4865, - "src": "3073:7:24", + "referencedDeclaration": 2605, + "src": "3159:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26941,18 +28381,18 @@ "typeString": "uint256" } ], - "id": 4871, + "id": 2612, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1775, - "src": "3065:7:24", + "referencedDeclaration": 820, + "src": "3151:7:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 4873, + "id": 2614, "isConstant": false, "isLValue": false, "isPure": false, @@ -26960,7 +28400,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3065:16:24", + "src": "3151:16:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -26968,20 +28408,20 @@ } }, { - "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", - "id": 4874, + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 2615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3083:26:24", + "src": "3169:23:13", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" }, - "value": "ERC721: invalid token ID" + "value": "Must be valid tokenId" } ], "expression": { @@ -26991,11 +28431,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", - "typeString": "literal_string \"ERC721: invalid token ID\"" + "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", + "typeString": "literal_string \"Must be valid tokenId\"" } ], - "id": 4870, + "id": 2611, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27003,13 +28443,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3057:7:24", + "src": "3143:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 4875, + "id": 2616, "isConstant": false, "isLValue": false, "isPure": false, @@ -27017,73 +28457,161 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3057:53:24", + "src": "3143:50:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 4876, + "id": 2617, "nodeType": "ExpressionStatement", - "src": "3057:53:24" + "src": "3143:50:13" }, { - "assignments": [ - 4878 - ], - "declarations": [ - { - "constant": false, - "id": 4878, - "mutability": "mutable", - "name": "configID", - "nameLocation": "3128:8:24", - "nodeType": "VariableDeclaration", - "scope": 4896, - "src": "3120:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4877, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3120:7:24", + "expression": { + "arguments": [ + { + "id": 2622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3207:22:13", + "subExpression": { + "baseExpression": { + "id": 2619, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2345, + "src": "3208:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2621, + "indexExpression": { + "id": 2620, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2605, + "src": "3221:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3208:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "visibility": "internal" - } - ], - "id": 4883, - "initialValue": { + { + "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", + "id": 2623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3231:26:13", + "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": 2618, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3199:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3199:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2625, + "nodeType": "ExpressionStatement", + "src": "3199:59:13" + }, + { + "expression": { + "id": 2630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { "baseExpression": { - "id": 4879, - "name": "tokenIdToNft", + "id": 2626, + "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4583, - "src": "3139:12:24", + "referencedDeclaration": 2345, + "src": "3264:12:13", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Nft_$4591_storage_$", - "typeString": "mapping(uint256 => struct NFT.Nft storage ref)" + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" } }, - "id": 4881, + "id": 2628, "indexExpression": { - "id": 4880, + "id": 2627, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4865, - "src": "3152:7:24", + "referencedDeclaration": 2605, + "src": "3277:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27092,235 +28620,152 @@ "isConstant": false, "isLValue": true, "isPure": false, - "lValueRequested": false, + "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3139:21:24", + "src": "3264:21:13", "typeDescriptions": { - "typeIdentifier": "t_struct$_Nft_$4591_storage", - "typeString": "struct NFT.Nft storage ref" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 4882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "configID", - "nodeType": "MemberAccess", - "referencedDeclaration": 4590, - "src": "3139:30:24", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3288:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "3264:28:13", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "nodeType": "VariableDeclarationStatement", - "src": "3120:49:24" + "id": 2631, + "nodeType": "ExpressionStatement", + "src": "3264:28:13" }, { - "expression": { + "eventCall": { "arguments": [ { - "arguments": [ - { - "id": 4888, - "name": "detailURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4578, - "src": "3210:9:24", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "hexValue": "2f", - "id": 4889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3221:3:24", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - "value": "/" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 4890, - "name": "configID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4878, - "src": "3226:8:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 3171, - "src": "3226:17:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 4892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3226:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_stringliteral_fba9715e477e68952d3f1df7a185b3708aadad50ec10cc793973864023868527", - "typeString": "literal_string \"/\"" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 4886, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967295, - "src": "3193:3:24", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3193:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3193:53:24", - "tryCall": false, + "id": 2633, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2605, + "src": "3308:7:13", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 4885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3186:6:24", + "id": 2632, + "name": "Lock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2371, + "src": "3303:4:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 4884, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3186:6:24", - "typeDescriptions": {} + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" } }, - "id": 4894, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3186:61:24", + "src": "3303:13:13", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 4869, - "id": 4895, - "nodeType": "Return", - "src": "3179:68:24" + "id": 2635, + "nodeType": "EmitStatement", + "src": "3298:18:13" } ] }, - "functionSelector": "db487f36", - "id": 4897, + "documentation": { + "id": 2603, + "nodeType": "StructuredDocumentation", + "src": "3015:59:13", + "text": " @dev Lock token to use in game or for rental" + }, + "functionSelector": "dd467064", + "id": 2637, "implemented": true, "kind": "function", - "modifiers": [], - "name": "detail", - "nameLocation": "2989:6:24", + "modifiers": [ + { + "arguments": [ + { + "id": 2608, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "3126:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2609, + "kind": "modifierInvocation", + "modifierName": { + "id": 2607, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "3117:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "3117:19:13" + } + ], + "name": "lock", + "nameLocation": "3086:4:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 4866, + "id": 2606, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4865, + "id": 2605, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3001:7:24", + "nameLocation": "3099:7:13", "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "2996:12:24", + "scope": 2637, + "src": "3091:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27328,10 +28773,10 @@ "typeString": "uint256" }, "typeName": { - "id": 4864, - "name": "uint", + "id": 2604, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2996:4:24", + "src": "3091:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27340,32 +28785,710 @@ "visibility": "internal" } ], - "src": "2995:14:24" + "src": "3090:17:13" }, "returnParameters": { - "id": 4869, + "id": 2610, + "nodeType": "ParameterList", + "parameters": [], + "src": "3137:0:13" + }, + "scope": 2764, + "src": "3077:244:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2670, + "nodeType": "Block", + "src": "3463:188:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2648, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "3485:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2647, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 820, + "src": "3477:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3477:16:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d7573742062652076616c696420746f6b656e4964", + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3495:23:13", + "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": 2646, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3469:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3469:50:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2652, + "nodeType": "ExpressionStatement", + "src": "3469:50:13" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 2654, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2345, + "src": "3533:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2656, + "indexExpression": { + "id": 2655, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "3546:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3533:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", + "id": 2657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3556:28:13", + "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": 2653, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "3525:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3525:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2659, + "nodeType": "ExpressionStatement", + "src": "3525:60:13" + }, + { + "expression": { + "id": 2664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2660, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2345, + "src": "3591:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2662, + "indexExpression": { + "id": 2661, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "3604:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3591:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3615:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "3591:29:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2665, + "nodeType": "ExpressionStatement", + "src": "3591:29:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2667, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2640, + "src": "3638:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2666, + "name": "UnLock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2375, + "src": "3631:6:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3631:15:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2669, + "nodeType": "EmitStatement", + "src": "3626:20:13" + } + ] + }, + "documentation": { + "id": 2638, + "nodeType": "StructuredDocumentation", + "src": "3325:73:13", + "text": " @dev Unlock token to use blockchain or sale on marketplace" + }, + "functionSelector": "6198e339", + "id": 2671, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2643, + "name": "LOCK_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2363, + "src": "3452:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2644, + "kind": "modifierInvocation", + "modifierName": { + "id": 2642, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "3443:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "3443:19:13" + } + ], + "name": "unlock", + "nameLocation": "3410:6:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2641, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4868, + "id": 2640, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3425:7:13", + "nodeType": "VariableDeclaration", + "scope": 2671, + "src": "3417:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3417:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3416:17:13" + }, + "returnParameters": { + "id": 2645, + "nodeType": "ParameterList", + "parameters": [], + "src": "3463:0:13" + }, + "scope": 2764, + "src": "3401:250:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2683, + "nodeType": "Block", + "src": "3757:39:13", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2679, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2345, + "src": "3770:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2681, + "indexExpression": { + "id": 2680, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2674, + "src": "3783:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3770:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2678, + "id": 2682, + "nodeType": "Return", + "src": "3763:28:13" + } + ] + }, + "documentation": { + "id": 2672, + "nodeType": "StructuredDocumentation", + "src": "3655:35:13", + "text": " @dev Get lock status" + }, + "functionSelector": "f6aacfb1", + "id": 2684, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isLocked", + "nameLocation": "3702:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2674, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3719:7:13", + "nodeType": "VariableDeclaration", + "scope": 2684, + "src": "3711:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2673, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3711:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3710:17:13" + }, + "returnParameters": { + "id": 2678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2677, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4897, - "src": "3033:13:24", + "scope": 2684, + "src": "3751:4:13", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2676, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3751:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3750:6:13" + }, + "scope": 2764, + "src": "3693:103:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2697, + "nodeType": "Block", + "src": "3935:39:13", + "statements": [ + { + "expression": { + "id": 2695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2693, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2348, + "src": "3941:13:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2694, + "name": "baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2687, + "src": "3957:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "3941:28:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2696, + "nodeType": "ExpressionStatement", + "src": "3941:28:13" + } + ] + }, + "documentation": { + "id": 2685, + "nodeType": "StructuredDocumentation", + "src": "3800:33:13", + "text": " @dev Set token URI" + }, + "functionSelector": "931688cb", + "id": 2698, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2690, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3915:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2691, + "kind": "modifierInvocation", + "modifierName": { + "id": 2689, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "3906:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "3906:28:13" + } + ], + "name": "updateBaseURI", + "nameLocation": "3845:13:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2687, + "mutability": "mutable", + "name": "baseTokenURI", + "nameLocation": "3880:12:13", + "nodeType": "VariableDeclaration", + "scope": 2698, + "src": "3864:28:13", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", "typeString": "string" }, "typeName": { - "id": 4867, + "id": 2686, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3033:6:24", + "src": "3864:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -27374,34 +29497,396 @@ "visibility": "internal" } ], - "src": "3032:15:24" + "src": "3858:38:13" }, - "scope": 4914, - "src": "2980:274:24", - "stateMutability": "view", + "returnParameters": { + "id": 2692, + "nodeType": "ParameterList", + "parameters": [], + "src": "3935:0:13" + }, + "scope": 2764, + "src": "3836:138:13", + "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "baseFunctions": [ - 60, - 2393 + 1557 ], "body": { - "id": 4912, + "id": 2726, "nodeType": "Block", - "src": "3443:60:24", + "src": "4169:126:13", "statements": [ { "expression": { "arguments": [ { - "id": 4909, + "id": 2714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4183:22:13", + "subExpression": { + "baseExpression": { + "id": 2711, + "name": "lockedTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2345, + "src": "4184:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 2713, + "indexExpression": { + "id": 2712, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2705, + "src": "4197:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4184:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", + "id": 2715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4207:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "typeString": "literal_string \"Can not transfer locked token\"" + }, + "value": "Can not transfer locked token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "typeString": "literal_string \"Can not transfer locked token\"" + } + ], + "id": 2710, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4175:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4175:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2717, + "nodeType": "ExpressionStatement", + "src": "4175:64:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2721, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2701, + "src": "4272:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2722, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2703, + "src": "4278:2:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2723, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2705, + "src": "4282: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": 2718, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4245:5:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFT_$2764_$", + "typeString": "type(contract super NFT)" + } + }, + "id": 2720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1557, + "src": "4245:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4245:45:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2725, + "nodeType": "ExpressionStatement", + "src": "4245:45:13" + } + ] + }, + "documentation": { + "id": 2699, + "nodeType": "StructuredDocumentation", + "src": "3978:55:13", + "text": " @dev See {IERC165-_beforeTokenTransfer}." + }, + "id": 2727, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "4045:20:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2708, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 2707, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "4151:16:13" + } + ], + "src": "4142:26:13" + }, + "parameters": { + "id": 2706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2701, + "mutability": "mutable", + "name": "from", + "nameLocation": "4079:4:13", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "4071:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2700, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4071:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2703, + "mutability": "mutable", + "name": "to", + "nameLocation": "4097:2:13", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "4089:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4089:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2705, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4113:7:13", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "4105:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4105:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4065:59:13" + }, + "returnParameters": { + "id": 2709, + "nodeType": "ParameterList", + "parameters": [], + "src": "4169:0:13" + }, + "scope": 2764, + "src": "4036:259:13", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 62, + 1431 + ], + "body": { + "id": 2743, + "nodeType": "Block", + "src": "4508:54:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2740, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4899, - "src": "3484:11:24", + "referencedDeclaration": 2730, + "src": "4545:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -27416,32 +29901,32 @@ } ], "expression": { - "id": 4907, + "id": 2738, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "3460:5:24", + "src": "4521:5:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_NFT_$4914_$", + "typeIdentifier": "t_type$_t_super$_NFT_$2764_$", "typeString": "type(contract super NFT)" } }, - "id": 4908, + "id": 2739, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 60, - "src": "3460:23:24", + "referencedDeclaration": 1431, + "src": "4521:23:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 4910, + "id": 2741, "isConstant": false, "isLValue": false, "isPure": false, @@ -27449,62 +29934,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3460:36:24", + "src": "4521:36:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 4906, - "id": 4911, + "functionReturnParameters": 2737, + "id": 2742, "nodeType": "Return", - "src": "3453:43:24" + "src": "4514:43:13" } ] }, + "documentation": { + "id": 2728, + "nodeType": "StructuredDocumentation", + "src": "4299:52:13", + "text": " @dev See {IERC165-supportsInterface}." + }, "functionSelector": "01ffc9a7", - "id": 4913, + "id": 2744, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "3336:17:24", + "nameLocation": "4363:17:13", "nodeType": "FunctionDefinition", "overrides": { - "id": 4903, + "id": 2734, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 4901, - "name": "ERC721Enumerable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 2681, - "src": "3395:16:24" - }, - { - "id": 4902, + "id": 2732, "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 319, - "src": "3413:13:24" + "referencedDeclaration": 308, + "src": "4454:13:13" + }, + { + "id": 2733, + "name": "ERC721Enumerable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1719, + "src": "4469:16:13" } ], - "src": "3386:41:24" + "src": "4445:41:13" }, "parameters": { - "id": 4900, + "id": 2731, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4899, + "id": 2730, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "3361:11:24", + "nameLocation": "4393:11:13", "nodeType": "VariableDeclaration", - "scope": 4913, - "src": "3354:18:24", + "scope": 2744, + "src": "4386:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27512,10 +30003,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 4898, + "id": 2729, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "3354:6:24", + "src": "4386:6:13", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -27524,21 +30015,21 @@ "visibility": "internal" } ], - "src": "3353:20:24" + "src": "4380:28:13" }, "returnParameters": { - "id": 4906, + "id": 2737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4905, + "id": 2736, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4913, - "src": "3437:4:24", + "scope": 2744, + "src": "4500:4:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27546,10 +30037,10 @@ "typeString": "bool" }, "typeName": { - "id": 4904, + "id": 2735, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3437:4:24", + "src": "4500:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27558,27 +30049,294 @@ "visibility": "internal" } ], - "src": "3436:6:24" + "src": "4499:6:13" }, - "scope": 4914, - "src": "3327:176:24", + "scope": 2764, + "src": "4354:208:13", "stateMutability": "view", - "virtual": false, + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2762, + "nodeType": "Block", + "src": "4612:135:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2751, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2084, + "src": "4652:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4652:12:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2753, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "4666:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2750, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 861, + "src": "4633:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 2754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4633:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "63616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 2755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4682:34:13", + "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": 2749, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4618:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4618:104:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2757, + "nodeType": "ExpressionStatement", + "src": "4618:104:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2759, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "4734:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2758, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1031, + "src": "4728:5:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4728:14:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2761, + "nodeType": "ExpressionStatement", + "src": "4728:14:13" + } + ] + }, + "functionSelector": "42966c68", + "id": 2763, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "4575:4:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2746, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4588:7:13", + "nodeType": "VariableDeclaration", + "scope": 2763, + "src": "4580:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2745, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4580:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4579:17:13" + }, + "returnParameters": { + "id": 2748, + "nodeType": "ParameterList", + "parameters": [], + "src": "4612:0:13" + }, + "scope": 2764, + "src": "4566:181:13", + "stateMutability": "nonpayable", + "virtual": true, "visibility": "public" } ], - "scope": 4915, - "src": "422:3083:24", + "scope": 2765, + "src": "195:4554:13", "usedErrors": [] } ], - "src": "32:3473:24" + "src": "32:4718:13" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { + "421613": { + "events": {}, + "links": {}, + "address": "0x07Bad070e403a4Bad2Eec3BA3894c4524d3d2674", + "transactionHash": "0xd33e62a8012181146b4fd9d5def5b1666740ce6e2e9cc2f612e4791fb83dc372" + }, "1665974821170": { "events": {}, "links": {}, @@ -27586,8 +30344,8 @@ "transactionHash": "0x3ec05f484314a519f76d32a291232eb844dc8f4286df76d517e367eab8997e93" } }, - "schemaVersion": "3.4.9", - "updatedAt": "2022-10-17T03:23:24.718Z", + "schemaVersion": "3.4.11", + "updatedAt": "2023-06-05T07:31:59.575Z", "networkType": "ethereum", "devdoc": { "kind": "dev", @@ -27598,14 +30356,20 @@ "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}." }, + "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." + "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`." @@ -27613,17 +30377,32 @@ "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`. May emit a {RoleRevoked} event." + "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. May emit a {RoleRevoked} event." + "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}." @@ -27634,6 +30413,15 @@ "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}." }, @@ -27651,6 +30439,12 @@ }, "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 diff --git a/build/contracts/UserMinterFactory.json b/build/contracts/UserMinterFactory.json index 4360101..604daac 100644 --- a/build/contracts/UserMinterFactory.json +++ b/build/contracts/UserMinterFactory.json @@ -28619,6 +28619,12 @@ "address": "0xb60c7312F56da4303CE3bf27124f1850dBe1D0E5", "transactionHash": "0x8d5a979aff70a022f1535af09ab3677ec00f224d0b879139af03c53de62f7e7d" }, + "421613": { + "events": {}, + "links": {}, + "address": "0x0155eA97330aFF0a9d26bd37C6D967D50c41B4e7", + "transactionHash": "0xfa37c913e9971fe86910b7fd3d6170a953bdb6c574e0f6b0ba18811e846b8317" + }, "1660724532588": { "events": {}, "links": {}, @@ -28698,8 +28704,8 @@ "transactionHash": "0x43c6ee315018205de90fb5becb6f6c2aac66597f3686f365dc240c833600a423" } }, - "schemaVersion": "3.4.4", - "updatedAt": "2023-03-07T05:51:01.844Z", + "schemaVersion": "3.4.11", + "updatedAt": "2023-06-06T08:20:35.312Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/interfaces/IAsset.sol b/contracts/interfaces/IAsset.sol new file mode 100644 index 0000000..5150a3f --- /dev/null +++ b/contracts/interfaces/IAsset.sol @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.10; + +import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; + +interface IAsset is IERC721 { + function batchMint( + address to, + uint256[] memory tokenIds + ) external returns (uint256[] memory); + + function burn(address owner, uint256[] memory ids) external; + + function ownerOf(uint256 tokenId) external view returns (address owner); + + function isLocked(uint256 tokenId) external view returns (bool); +} diff --git a/contracts/logic/MinterFactory.sol b/contracts/logic/MinterFactory.sol index 3b547d1..69393dd 100644 --- a/contracts/logic/MinterFactory.sol +++ b/contracts/logic/MinterFactory.sol @@ -25,8 +25,7 @@ contract MinterFactory is // NFT contract IBEERC721 public hero; IBEERC721 public equip; - IBEERC1155 public chip; - IBEERC1155 public shard; + IBEERC721 public chip; address public feeToAddress; @@ -50,8 +49,7 @@ contract MinterFactory is function init(address[4] calldata _erc721s) external initializer onlyOwner { hero = IBEERC721(_erc721s[0]); equip = IBEERC721(_erc721s[1]); - chip = IBEERC1155(_erc721s[2]); - shard = IBEERC1155(_erc721s[3]); + chip = IBEERC721(_erc721s[2]); } /** @@ -73,67 +71,34 @@ contract MinterFactory is /** * @dev mint function to distribute Hero NFT to user */ - function mintHeroTo(address to, uint256 tokenId, uint256 nonce) external onlyOwner { + function mintHeroTo( + address to, + uint256 tokenId, + uint256 nonce + ) external onlyOwner { mint721NFT(to, tokenId, nonce, hero); } /** * @dev mint function to distribute Equipment NFT to user */ - function mintEquipTo(address to, uint256 tokenId, uint256 nonce) external onlyOwner { + function mintEquipTo( + address to, + uint256 tokenId, + uint256 nonce + ) external onlyOwner { mint721NFT(to, tokenId, nonce, equip); } /** * @dev mint function to distribute Chip NFT to user */ - function mintChipTo(address to, uint256 tokenId, uint256 nonce) external onlyOwner { - mint1155NFT(to, tokenId, nonce, 1, chip); - } - - /** - * @dev mint function to distribute Shard NFT to user - */ - function mintShardTo(address to, uint256 tokenId, uint256 nonce) external onlyOwner { - mint1155NFT(to, tokenId, nonce, 1, shard); - } - - /** - * @dev batch mint 1155 Chip to user - */ - function mintChipBatch(address to, uint256[] memory ids, uint256 nonce) external onlyOwner { - require( - to != address(0), - "MinterFactory::mintChipBatch: to address can not be zero" - ); - require( - ids.length > 0, - "MinterFactory::mintChipBatch: ids cannot be empty" - ); - uint256[] memory amounts = new uint256[](ids.length); - uint256 len = ids.length; - for (uint256 i = 0; i < len; ++i) { - amounts[i] = 1; - } - mint1155NFTBatch(to, nonce, ids, amounts, chip); - } - - /** - * @dev batch mint 1155 Shard to user - */ - function mintShardBatch( + function mintChipTo( address to, - uint256 nonce, - uint256[] memory ids, - uint256[] memory amounts + uint256 tokenId, + uint256 nonce ) external onlyOwner { - require(to != address(0), "MinterFactory: to address can not be zero"); - require(ids.length > 0, "MinterFactory: ids cannot be empty"); - require( - ids.length == amounts.length, - "MinterFactory: ids and amounts length mismatch" - ); - mint1155NFTBatch(to, nonce, ids, amounts, shard); + mint721NFT(to, tokenId, nonce, chip); } function mint721ByUser( @@ -158,87 +123,6 @@ contract MinterFactory is _useSignature(signature); } - function mint1155BatchByUser( - address to, - uint256[] memory ids, - uint256[] memory amounts, - uint256 startTime, - uint256 saltNonce, - bytes calldata signature, - IBEERC1155 nft - ) external signatureValid(signature) timeValid(startTime) { - uint256 len = ids.length; - require(len > 0, "MinterFactory: ids cannot be empty"); - require( - len == amounts.length, - "MinterFactory: ids and amounts length mismatch" - ); - uint256[] memory signArray = new uint256[](len * 2); - for (uint256 i = 0; i < len; ++i) { - require( - nft.canMint(ids[i]), - "MinterFactory: can not mint for current nft rule setting" - ); - signArray[i * 2] = ids[i]; - signArray[i * 2 + 1] = amounts[i]; - } - bytes32 criteriaMessageHash = getMessageHash( - to, - address(nft), - startTime, - saltNonce, - signArray - ); - checkSigner(executor, criteriaMessageHash, signature); - mint1155NFTBatch(to, saltNonce, ids, amounts, nft); - _useSignature(signature); - } - - function shardMixByUser( - ShardParam memory param, - uint256[] memory ids, - uint256[] memory amounts, - bytes calldata signature, - IBEERC721 nft - ) external signatureValid(signature) timeValid(param.startTime) { - require(ids.length > 0, "MinterFactory: ids cannot be empty"); - require( - ids.length == amounts.length, - "MinterFactory: ids and amounts length mismatch" - ); - - uint256[] memory signArray = new uint256[](ids.length * 2); - for (uint256 i = 0; i < ids.length; ++i) { - require( - shard.balanceOf(param.to, ids[i]) > 0, - "MinterFactory: not enough shard" - ); - signArray[i * 2] = ids[i]; - signArray[i * 2 + 1] = amounts[i]; - } - bytes32 criteriaMessageHash = getShardMixHash( - param, - address(nft), - signArray - ); - checkSigner(executor, criteriaMessageHash, signature); - // Check payment approval and buyer balance - IERC20 paymentContract = IERC20(param.payToken); - require( - paymentContract.balanceOf(param.to) >= param.payAmount, - "MinterFactory: doesn't have enough token to mix shard" - ); - require( - paymentContract.allowance(param.to, address(this)) >= param.payAmount, - "MinterFactory: doesn't approve MinterFactory to spend payment amount" - ); - // transfer money to address - paymentContract.safeTransferFrom(param.to, feeToAddress, param.payAmount); - shard.burnBatch(param.to, ids, amounts); - mint721NFT(param.to, param.nftId, param.saltNonce, nft); - _useSignature(signature); - } - function mint721NFT( address to, uint256 tokenId, diff --git a/contracts/logic/UserMinterFactory.sol b/contracts/logic/UserMinterFactory.sol index abe904f..c891af9 100644 --- a/contracts/logic/UserMinterFactory.sol +++ b/contracts/logic/UserMinterFactory.sol @@ -2,204 +2,79 @@ pragma solidity 0.8.10; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/proxy/utils/Initializable.sol"; -import "../interfaces/IBEERC721.sol"; -import "../interfaces/IBEERC1155.sol"; -import "./FactoryBase.sol"; -import "./MinterFactory.sol"; +import "../interfaces/IAsset.sol"; +import "../utils/TimeChecker.sol"; +import "../core/HasSignature.sol"; -contract UserMinterFactory is Ownable, FactoryBase, Initializable { - MinterFactory factory; - IBEERC721 public hero; - IBEERC721 public equip; - IBEERC1155 public chip; - IBEERC1155 public shard; +contract UserMinterFactory is + Ownable, + TimeChecker, + HasSignature, + Initializable +{ + mapping(address => bool) public tokenSupported; - event TokenMintFail( - address indexed to, - uint256 indexed nonce, - bytes signature, - string reason, - bytes byteReason - ); + address public executor; - function init(address[5] calldata addressArr) external initializer onlyOwner { - hero = IBEERC721(addressArr[0]); - equip = IBEERC721(addressArr[1]); - chip = IBEERC1155(addressArr[2]); - shard = IBEERC1155(addressArr[3]); - factory = MinterFactory(addressArr[4]); - } + constructor() HasSignature("UserMinterFactory", "1") {} /** * @dev mint hero by user */ - function mintHeroUser( - uint256 tokenId, + function mintNft( + address nftAddress, + uint256[] memory tokenIds, uint256 startTime, uint256 saltNonce, bytes calldata signature - ) external returns (bool success) { + ) external signatureValid(signature) timeValid(startTime) { + require(tokenSupported[nftAddress], "UserMinterFactory: Unsupported NFT"); address to = _msgSender(); - try - factory.mint721ByUser(to, tokenId, startTime, saltNonce, signature, hero) - { - return true; - } catch Error(string memory reason) { - bytes memory by; - factory.useSignature(signature); - emit TokenMintFail(to, saltNonce, signature, reason, by); - return false; - } catch (bytes memory lowLevelData) { - factory.useSignature(signature); - string memory reason; - emit TokenMintFail(to, saltNonce, signature, reason, lowLevelData); - return false; - } - } - - /** - * @dev user mint equip - */ - function mintEquipUser( - uint256 tokenId, - uint256 startTime, - uint256 saltNonce, - bytes calldata signature - ) external returns (bool success) { - address to = _msgSender(); - try - factory.mint721ByUser(to, tokenId, startTime, saltNonce, signature, equip) - { - return true; - } catch Error(string memory reason) { - bytes memory by; - factory.useSignature(signature); - emit TokenMintFail(to, saltNonce, signature, reason, by); - return false; - } catch (bytes memory lowLevelData) { - factory.useSignature(signature); - string memory reason; - emit TokenMintFail(to, saltNonce, signature, reason, lowLevelData); - return false; - } - } - - /** - * @dev user batch mint 1155 chip - */ - function mintChipBatchUser( - uint256[] memory ids, - uint256 startTime, - uint256 saltNonce, - bytes calldata signature - ) external returns (bool success) { - uint256 len = ids.length; - uint256[] memory amounts = new uint256[](len); - for (uint256 i = 0; i < len; ++i) { - amounts[i] = 1; - } - address to = _msgSender(); - try - factory.mint1155BatchByUser( - to, - ids, - amounts, - startTime, - saltNonce, - signature, - chip - ) - { - return true; - } catch Error(string memory reason) { - bytes memory by; - factory.useSignature(signature); - emit TokenMintFail(to, saltNonce, signature, reason, by); - return false; - } catch (bytes memory lowLevelData) { - factory.useSignature(signature); - string memory reason; - emit TokenMintFail(to, saltNonce, signature, reason, lowLevelData); - return false; - } - } - - /** - * @dev user batch mint 1155 shard - */ - function mintShardBatchUser( - uint256[] memory ids, - uint256[] memory amounts, - uint256 startTime, - uint256 saltNonce, - bytes calldata signature - ) external returns (bool success) { - address to = _msgSender(); - try - factory.mint1155BatchByUser( - to, - ids, - amounts, - startTime, - saltNonce, - signature, - shard - ) - { - return true; - } catch Error(string memory reason) { - bytes memory by; - factory.useSignature(signature); - emit TokenMintFail(to, saltNonce, signature, reason, by); - return false; - } catch (bytes memory lowLevelData) { - factory.useSignature(signature); - string memory reason; - emit TokenMintFail(to, saltNonce, signature, reason, lowLevelData); - return false; - } - } - - /** - * @dev mint hero or equip with shard - */ - function shardMixByUser( - uint256 nftId, - uint8 nftType, - address payToken, - uint256 payAmount, - uint256[] memory ids, - uint256[] memory amounts, - uint256 startTime, - uint256 saltNonce, - bytes calldata signature - ) external returns (bool success) { - address to = _msgSender(); - IBEERC721 nft; - if (nftType == 0) { - nft = hero; - } else { - nft = equip; - } - ShardParam memory param = ShardParam( + bytes32 criteriaMessageHash = getMessageHash( to, - nftId, - payToken, - payAmount, + nftAddress, startTime, - saltNonce + saltNonce, + tokenIds ); - try factory.shardMixByUser(param, ids, amounts, signature, nft) { - return true; - } catch Error(string memory reason) { - bytes memory by; - factory.useSignature(signature); - emit TokenMintFail(to, saltNonce, signature, reason, by); - return false; - } catch (bytes memory lowLevelData) { - factory.useSignature(signature); - string memory reason; - emit TokenMintFail(to, saltNonce, signature, reason, lowLevelData); + checkSigner(executor, criteriaMessageHash, signature); + IAsset(nftAddress).batchMint(to, tokenIds); + _useSignature(signature); + } + + function addTokenSupport(address nftToken) external onlyOwner { + tokenSupported[nftToken] = true; + } + + function removeTokenSupport(address nftToken) external onlyOwner { + tokenSupported[nftToken] = false; + } + + /** + * @dev update executor + */ + function updateExecutor(address account) external onlyOwner { + require(account != address(0), "address can not be zero"); + executor = account; + } + + function getMessageHash( + address _to, + address _nftAddress, + uint256 _startTime, + uint256 _saltNonce, + uint256[] memory _ids + ) public pure returns (bytes32) { + bytes memory encoded = abi.encodePacked( + _to, + _nftAddress, + _startTime, + _saltNonce + ); + uint256 len = _ids.length; + for (uint256 i = 0; i < len; ++i) { + encoded = bytes.concat(encoded, abi.encodePacked(_ids[i])); } + return keccak256(encoded); } } diff --git a/contracts/tokens/erc20/BECoin.sol b/contracts/tokens/erc20/BECoin.sol deleted file mode 100644 index d42c92b..0000000 --- a/contracts/tokens/erc20/BECoin.sol +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.10; -import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; - -contract BECoin is ERC20Burnable { - uint256 public constant INITIALIZED_CAP = 100000000 * 1e18; - - constructor() ERC20("CRYPTO ELITE'S COIN", "CEC") { - _mint(_msgSender(), INITIALIZED_CAP); - } -} diff --git a/contracts/tokens/erc20/BEGold.sol b/contracts/tokens/erc20/BEGold.sol deleted file mode 100644 index a815f58..0000000 --- a/contracts/tokens/erc20/BEGold.sol +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.10; -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; -import "@openzeppelin/contracts/security/Pausable.sol"; -import "@openzeppelin/contracts/access/Ownable.sol"; - -/** - * this contract will transfer ownership to BETimelockController after deployed - * all onlyowner method would add timelock - */ -contract BEGold is ERC20, ERC20Burnable, Pausable, Ownable { - constructor() ERC20("CRYPTO ELITE'S GOLD", "CEG") {} - - function pause() external onlyOwner { - _pause(); - } - - function unpause() external onlyOwner { - _unpause(); - } - - function mint(address to, uint256 amount) external onlyOwner { - _mint(to, amount); - } - - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) internal override whenNotPaused { - super._beforeTokenTransfer(from, to, amount); - } -} diff --git a/contracts/tokens/erc20/BEUSTD.sol b/contracts/tokens/erc20/FT.sol similarity index 81% rename from contracts/tokens/erc20/BEUSTD.sol rename to contracts/tokens/erc20/FT.sol index abc877f..9417948 100644 --- a/contracts/tokens/erc20/BEUSTD.sol +++ b/contracts/tokens/erc20/FT.sol @@ -5,20 +5,20 @@ import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol"; import "@openzeppelin/contracts/security/Pausable.sol"; import "@openzeppelin/contracts/access/AccessControl.sol"; -/** - * only for test - */ -contract BEUSDT is ERC20, ERC20Burnable, Pausable, AccessControl { +contract FT is ERC20, ERC20Burnable, Pausable, AccessControl { bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); + uint256 public immutable supplyLimit; constructor( string memory name_, - string memory symbol_ + string memory symbol_, + uint256 _supplyLimt ) ERC20(name_, symbol_) { _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); _setupRole(PAUSER_ROLE, msg.sender); _setupRole(MINTER_ROLE, msg.sender); + supplyLimit = _supplyLimt; } // constructor() ERC20("BE test USDT", "USDT") {} @@ -32,6 +32,12 @@ contract BEUSDT is ERC20, ERC20Burnable, Pausable, AccessControl { } function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) { + if (supplyLimit > 0) { + require( + (totalSupply() + amount) <= supplyLimit, + "Exceed the total supply" + ); + } _mint(to, amount); } diff --git a/contracts/tokens/erc721/BEChip.sol b/contracts/tokens/erc721/BEChip.sol deleted file mode 100644 index 7d8daf0..0000000 --- a/contracts/tokens/erc721/BEChip.sol +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.10; -import "./BEBase.sol"; - -// this contract will transfer ownership to BETimelockController after deployed -// all onlyowner method would add timelock -contract BEChip is BEBase { - constructor() ERC721("CRYPTO ELITE'S CHIP", "CHIP") {} -} diff --git a/contracts/tokens/erc721/BEEquipment.sol b/contracts/tokens/erc721/BEEquipment.sol deleted file mode 100644 index e7d0134..0000000 --- a/contracts/tokens/erc721/BEEquipment.sol +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.10; -import "./BEBase.sol"; - -// this contract will transfer ownership to BETimelockController after deployed -// all onlyowner method would add timelock -contract BEEquipment is BEBase { - constructor() ERC721("CRYPTO ELITE'S WEAPON", "WEAPON") {} -} diff --git a/contracts/tokens/erc721/BEHero.sol b/contracts/tokens/erc721/BEHero.sol deleted file mode 100644 index aab51a1..0000000 --- a/contracts/tokens/erc721/BEHero.sol +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.10; -import "./BEBase.sol"; - -// this contract will transfer ownership to BETimelockController after deployed -// all onlyowner method would add timelock -contract BEHero is BEBase { - constructor() ERC721("CRYPTO ELITE'S HERO", "HERO") {} -} diff --git a/contracts/tokens/erc721/NFT.sol b/contracts/tokens/erc721/NFT.sol new file mode 100644 index 0000000..9ce97aa --- /dev/null +++ b/contracts/tokens/erc721/NFT.sol @@ -0,0 +1,165 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.10; +import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; +import "@openzeppelin/contracts/access/AccessControl.sol"; + +contract NFT is AccessControl, ERC721Enumerable { + mapping(uint256 => bool) public lockedTokens; + string private _baseTokenURI = "https://market.cebg.games/api/nft/info/"; + bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); + bytes32 public constant LOCK_ROLE = keccak256("LOCK_ROLE"); + uint256 public immutable supplyLimit; + uint256 tokenIndex; + + event Lock(uint256 indexed tokenId); + event UnLock(uint256 indexed tokenId); + event BatchMint(address indexed to, uint256[] tokenIds); + + constructor( + string memory _name, + string memory _symbol, + uint256 _supplyLimt + ) ERC721(_name, _symbol) { + _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE); + _setRoleAdmin(LOCK_ROLE, DEFAULT_ADMIN_ROLE); + + _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); + _setupRole(MINTER_ROLE, msg.sender); + _setupRole(LOCK_ROLE, msg.sender); + supplyLimit = _supplyLimt; + } + + function _baseURI() internal view virtual override returns (string memory) { + return _baseTokenURI; + } + + /** + * @dev 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. + */ + + function batchMint( + address to, + uint256[] memory tokenIds + ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) { + uint256 count = tokenIds.length; + require(count <= 100, "tokenIds too many"); + if (supplyLimit > 0) { + require( + (totalSupply() + count) <= supplyLimit, + "Exceed the total supply" + ); + } + for (uint256 i = 0; i < count; i++) { + tokenIndex += 1; + uint256 tokenId = tokenIndex; + _safeMint(to, tokenId); + tokenIds[i] = tokenId; + } + emit BatchMint(to, tokenIds); + return tokenIds; + } + + /** + * @dev Grant mint role to address + */ + function setMintRole(address to) external { + grantRole(MINTER_ROLE, to); + } + + /** + * @dev Remove mint role to address + */ + function removeMintRole(address to) external { + revokeRole(MINTER_ROLE, to); + } + + /** + * @dev Add address for lock item + */ + function grantLockRole(address to) external { + grantRole(LOCK_ROLE, to); + } + + /** + * @dev Remove address for lock item + */ + function removeLockRole(address account) external { + revokeRole(LOCK_ROLE, account); + } + + /** + * @dev Lock token to use in game or for rental + */ + function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) { + require(_exists(tokenId), "Must be valid tokenId"); + require(!lockedTokens[tokenId], "Token has already locked"); + lockedTokens[tokenId] = true; + emit Lock(tokenId); + } + + /** + * @dev Unlock token to use blockchain or sale on marketplace + */ + function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) { + require(_exists(tokenId), "Must be valid tokenId"); + require(lockedTokens[tokenId], "Token has already unlocked"); + lockedTokens[tokenId] = false; + emit UnLock(tokenId); + } + + /** + * @dev Get lock status + */ + function isLocked(uint256 tokenId) external view returns (bool) { + return lockedTokens[tokenId]; + } + + /** + * @dev Set token URI + */ + function updateBaseURI( + string calldata baseTokenURI + ) external onlyRole(DEFAULT_ADMIN_ROLE) { + _baseTokenURI = baseTokenURI; + } + + /** + * @dev See {IERC165-_beforeTokenTransfer}. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override(ERC721Enumerable) { + require(!lockedTokens[tokenId], "Can not transfer locked token"); + super._beforeTokenTransfer(from, to, tokenId); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface( + bytes4 interfaceId + ) + public + view + virtual + override(AccessControl, ERC721Enumerable) + returns (bool) + { + return super.supportsInterface(interfaceId); + } + + function burn(uint256 tokenId) public virtual { + require( + _isApprovedOrOwner(_msgSender(), tokenId), + "caller is not owner nor approved" + ); + _burn(tokenId); + } +} diff --git a/init_scripts/update_nft_setting.js b/init_scripts/update_nft_setting.js index a65c229..7556f6b 100644 --- a/init_scripts/update_nft_setting.js +++ b/init_scripts/update_nft_setting.js @@ -1,47 +1,54 @@ -const BEHero = artifacts.require("tokens/erc721/BEHero"); -const BEEquipment = artifacts.require("tokens/erc721/BEEquipment"); -const BECoin = artifacts.require("tokens/erc20/BECoin"); -const BEGold = artifacts.require("tokens/erc20/BEGold"); -const BEUsdt = artifacts.require("tokens/erc20/BEUSDT"); -const BEChip1155 = artifacts.require("tokens/erc1155/BEChip1155"); -const BEShard = artifacts.require("tokens/erc1155/BEShard"); +const FT = artifacts.require("tokens/erc20/FT"); +const NFT = artifacts.require("tokens/erc20/NFT"); const MarketPlace = artifacts.require("market/BENFTMarket"); -// const BEBoxMall = artifacts.require('market/BEBoxMall') -const MinterFactory = artifacts.require("logic/MinterFactory"); const UserMinterFactory = artifacts.require("logic/UserMinterFactory"); -const EvolveFactory = artifacts.require("logic/EvolveFactory"); -const UserEvolveFactory = artifacts.require("logic/UserEvolveFactory"); -const BENftMall = artifacts.require("market/BENftMall"); -const NftChipLocker = artifacts.require("logic/NftChipLocker"); const config = require("../config/config"); +const base = require("../scripts/base"); module.exports = async function main(callback) { try { // Our code will go here + const network = "arbitrum_testnet"; + let cfgs = base.loadData({ network }); const accounts = await web3.eth.getAccounts(); console.log(accounts); - const heroInstance = await BEHero.deployed(); - const equipInstance = await BEEquipment.deployed(); - const chipInstance = await BEChip1155.deployed(); - const shardInstance = await BEShard.deployed(); - const coinInstance = await BECoin.deployed(); - const goldInstance = await BEGold.deployed(); - const usdtInstance = await BEUsdt.deployed(); + const heroInstance = await NFT.at( + cfgs.find((c) => c.name === "HERO").address + ); + const equipInstance = await NFT.at( + cfgs.find((c) => c.name === "WEAPON").address + ); + const chipInstance = await NFT.at( + cfgs.find((c) => c.name === "CHIP").address + ); + + const coinInstance = await FT.at( + cfgs.find((c) => c.name === "CEC").address + ); + const goldInstance = await FT.at( + cfgs.find((c) => c.name === "CEG").address + ); + + const usdtInstance = await await FT.at( + cfgs.find((c) => c.name === "BEUSDT").address + ); config.market.paymentTokens.push(coinInstance.address); config.market.paymentTokens.push(goldInstance.address); config.market.paymentTokens.push(usdtInstance.address); - await heroInstance.updateBaseURI(config.token.baseTokenURI); - console.log("BEHero baseURI update success."); + // await heroInstance.updateBaseURI(config.token.baseTokenURI); + // console.log("BEHero baseURI update success."); - await equipInstance.updateBaseURI(config.token.baseTokenURI); - console.log("Equip baseURI update success."); + // await equipInstance.updateBaseURI(config.token.baseTokenURI); + // console.log("Equip baseURI update success."); - const marketInstance = await MarketPlace.deployed(); + const marketInstance = await MarketPlace.at( + cfgs.find((c) => c.name === "BENftMarket").address + ); const ROUND = 1000000; - const DECIMALS = 1000000000000000000 + const DECIMALS = 1000000000000000000; if (marketInstance) { await marketInstance.setFeeToAddress(config.market.feeToAddress); console.log( @@ -50,45 +57,19 @@ module.exports = async function main(callback) { await marketInstance.setTransactionFee((4 * ROUND) / 100); await marketInstance.addERC721Support(heroInstance.address); await marketInstance.addERC721Support(equipInstance.address); - await marketInstance.addERC1155Support(chipInstance.address); - await marketInstance.addERC1155Support(shardInstance.address); - const maxPrice = web3.utils.toWei('99990000') - const minPrice = web3.utils.toWei('0.01') - await marketInstance.setNFTPriceMaxLimit( - heroInstance.address, - maxPrice - ); - await marketInstance.setNFTPriceMinLimit( - heroInstance.address, - minPrice - ); - await marketInstance.setNFTPriceMaxLimit( - equipInstance.address, - maxPrice - ); - await marketInstance.setNFTPriceMinLimit( - equipInstance.address, - minPrice - ); - await marketInstance.setNFTPriceMaxLimit( - chipInstance.address, - maxPrice - ); - await marketInstance.setNFTPriceMinLimit( - chipInstance.address, - minPrice - ); - await marketInstance.setNFTPriceMaxLimit( - shardInstance.address, - maxPrice - ); - await marketInstance.setNFTPriceMinLimit( - shardInstance.address, - minPrice - ); + await marketInstance.addERC721Support(chipInstance.address); + + const maxPrice = web3.utils.toWei("99990000"); + const minPrice = web3.utils.toWei("0.01"); + await marketInstance.setNFTPriceMaxLimit(heroInstance.address, maxPrice); + await marketInstance.setNFTPriceMinLimit(heroInstance.address, minPrice); + await marketInstance.setNFTPriceMaxLimit(equipInstance.address, maxPrice); + await marketInstance.setNFTPriceMinLimit(equipInstance.address, minPrice); + await marketInstance.setNFTPriceMaxLimit(chipInstance.address, maxPrice); + await marketInstance.setNFTPriceMinLimit(chipInstance.address, minPrice); for (let token of config.market.paymentTokens) { await marketInstance.addERC20Support(token); - console.log(`add token for market payment: ${token}`) + console.log(`add token for market payment: ${token}`); } console.log(`finish update market config`); @@ -106,107 +87,26 @@ module.exports = async function main(callback) { await heroInstance.grantLockRole(config.admins.admin); await equipInstance.grantLockRole(config.admins.admin); await chipInstance.grantLockRole(config.admins.admin); - await shardInstance.grantLockRole(config.admins.admin); console.log( `Allow operation ${marketInstance.address} to reduce gas fee` ); } - const factoryInstance = await MinterFactory.deployed(); + const factoryInstance = await UserMinterFactory.deployed(); if (!factoryInstance) { console.error("no factoryInstance"); return; } - await factoryInstance.init([ - heroInstance.address, - equipInstance.address, - chipInstance.address, - shardInstance.address, - ]); - await factoryInstance.setFeeToAddress(config.market.feeToAddress); + await factoryInstance.updateExecutor(config.admins.admin); await heroInstance.setMintFactory(factoryInstance.address); await equipInstance.setMintFactory(factoryInstance.address); await chipInstance.setMintFactory(factoryInstance.address); - await shardInstance.setMintFactory(factoryInstance.address); console.log( `Allow factory ${factoryInstance.address} to mint contract \n hero: ${heroInstance.address}, \n equip: ${equipInstance.address}, \n chip: ${chipInstance.address}` ); - await heroInstance.grantBurnRole(factoryInstance.address); - await equipInstance.grantBurnRole(factoryInstance.address); - await chipInstance.grantBurnRole(factoryInstance.address); - await shardInstance.grantBurnRole(factoryInstance.address); - console.log( - `Allow factory ${factoryInstance.address} to burn contract \n hero: ${heroInstance.address}, \n equip: ${equipInstance.address}, \n chip: ${chipInstance.address}` - ); - - const userFactoryInstance = await UserMinterFactory.deployed(); - if (!userFactoryInstance) { - console.error("no userFactoryInstance"); - return; - } - await factoryInstance.addApprovalList(userFactoryInstance.address); - await userFactoryInstance.init([ - heroInstance.address, - equipInstance.address, - chipInstance.address, - shardInstance.address, - factoryInstance.address, - ]); - const proxyInstance = await EvolveFactory.deployed(); - if (!proxyInstance) { - console.error("no proxyInstance"); - return; - } - await proxyInstance.init(chipInstance.address); - await proxyInstance.addNFTTokenSupport(heroInstance.address); - await proxyInstance.addNFTTokenSupport(equipInstance.address); - await proxyInstance.updateExecutor(config.admins.admin); - await heroInstance.grantBurnRole(proxyInstance.address); - await equipInstance.grantBurnRole(proxyInstance.address); - await chipInstance.grantBurnRole(proxyInstance.address); - console.log( - `Allow proxy ${proxyInstance.address} to burn contract \n hero: ${heroInstance.address}, \n equip: ${equipInstance.address}, \n chip: ${chipInstance.address}` - ); - const userProxyInstance = await UserEvolveFactory.deployed(); - if (!userProxyInstance) { - console.error("no userProxyInstance"); - return; - } - await proxyInstance.addApprovalList(userProxyInstance.address); - await userProxyInstance.init(proxyInstance.address); - - // const boxInstance = await BEBoxMall.deployed(); - // if (!boxInstance) { - // console.error("no boxInstance"); - // return; - // } - // await boxInstance.setPaymentReceivedAddress(config.market.mallFeeAddress); - // console.log( - // `update payment received address: ${config.market.mallFeeAddress}` - // ); - - const nftMallInstance = await BENftMall.deployed(); - if (nftMallInstance) { - await nftMallInstance.setFeeToAddress(config.market.feeToAddress); - await nftMallInstance.setPaymentTokens(config.market.paymentTokens); - await nftMallInstance.addNFTTokenSupport(heroInstance.address); - await nftMallInstance.addNFTTokenSupport(equipInstance.address); - await nftMallInstance.addNFTTokenSupport(chipInstance.address); - await heroInstance.setMintFactory(nftMallInstance.address); - await equipInstance.setMintFactory(nftMallInstance.address); - await chipInstance.setMintFactory(nftMallInstance.address); - console.log("update nftMallInstance settings success"); - } - const lockerInstance = await NftChipLocker.deployed(); - if (lockerInstance) { - await lockerInstance.addNFTTokenSupport(heroInstance.address); - await lockerInstance.addNFTTokenSupport(equipInstance.address); - await lockerInstance.addNFTTokenSupport(chipInstance.address); - console.log("update NftChipLocker addNFTTokenSupport success"); - } callback(0); } catch (error) { console.error(error); diff --git a/migrations/2_depoly_etc.js b/migrations/2_depoly_etc.js index d3cb955..7ec5849 100644 --- a/migrations/2_depoly_etc.js +++ b/migrations/2_depoly_etc.js @@ -3,6 +3,7 @@ const Coin = artifacts.require("tokens/erc20/BEUSDT"); const Wallet = artifacts.require("core/BEMultiSigWallet"); const Distributor = artifacts.require("logic/NftDistributor"); const config = require("../config/config"); +const base = require("../scripts/base"); module.exports = async function (deployer, network, accounts) { await deployer.deploy(Badge, "BE Badge", "Badge", "4000"); @@ -11,6 +12,13 @@ module.exports = async function (deployer, network, accounts) { console.log("BEBadge successfully deployed. "); console.log("address: " + badgeInstance.address); } + base.updateArray({ + name: "BEBadge", + type: "erc721", + json: "assets/contracts/BEBadge.json", + address: badgeInstance.address, + network, + }); await badgeInstance.updateBaseURI(config.token.baseTokenURI); await deployer.deploy(Coin, "BE test USDT", "USDT"); const coinInstance = await Coin.deployed(); @@ -18,6 +26,13 @@ module.exports = async function (deployer, network, accounts) { console.log("BEUSDT successfully deployed. "); console.log("address: " + coinInstance.address); } + base.updateArray({ + name: "BEUSDT", + type: "erc20", + json: "assets/contracts/BEUSDT.json", + address: coinInstance.address, + network, + }); await deployer.deploy( Wallet, 60, @@ -31,6 +46,13 @@ module.exports = async function (deployer, network, accounts) { console.log("BEMultiSigWallet successfully deployed."); console.log("address: " + walletInstance.address); } + base.updateArray({ + name: "BEMultiSigWallet", + type: "logic", + json: "assets/contracts/BEMultiSigWallet.json", + address: walletInstance.address, + network, + }); await badgeInstance.setMintRole(walletInstance.address); console.log("success add wallet to badge's mint role"); await coinInstance.setMintRole(walletInstance.address); @@ -46,10 +68,18 @@ module.exports = async function (deployer, network, accounts) { console.log("NftDistributor successfully deployed."); console.log("address: " + distributorInstance.address); } + base.updateArray({ + name: "NftDistributor", + type: "logic", + json: "assets/contracts/NftDistributor.json", + address: distributorInstance.address, + network, + }); await badgeInstance.setMintRole(distributorInstance.address); await distributorInstance.grantRole( "0xa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091", walletInstance.address ); console.log("success add distributor to badge's mint role"); + jetpack.write("./out.json", cfgs); }; diff --git a/migrations/3_deploy_coin.js b/migrations/3_deploy_coin.js index 17c6378..c35b893 100644 --- a/migrations/3_deploy_coin.js +++ b/migrations/3_deploy_coin.js @@ -1,11 +1,31 @@ -const Coin = artifacts.require('tokens/erc20/BECoin'); +const base = require("../scripts/base"); module.exports = async function (deployer, network, accounts) { + const tokens = [ + { + name: "CEC", + desc: "CRYPTO ELITE'S COIN", + limit: "10000000000000000000000000", + }, + { name: "CEG", desc: "CRYPTO ELITE'S GOLD", limit: 0 }, + ]; + for (let i = 0, l = tokens.length; i < l; i++) { + const Coin = artifacts.require("tokens/erc20/FT"); + const { name, desc, limit } = tokens[i]; + await deployer.deploy(Coin, desc, name, limit); - await deployer.deploy(Coin); - const coinInstance = await Coin.deployed(); - if(coinInstance) { - // tmpData.writeKeyVal('coin', coinInstance.address); - console.log("BECoin successfully deployed.") + const coinInstance = await Coin.deployed(); + if (coinInstance) { + console.log( + `${name} successfully deployed. address: ${coinInstance.address}` + ); + } + base.updateArray({ + name: name, + type: "erc20", + json: "assets/contracts/FT.json", + address: coinInstance.address, + network, + }); } -}; \ No newline at end of file +}; diff --git a/migrations/4_deploy_gold.js b/migrations/4_deploy_gold.js deleted file mode 100644 index 00a3b7e..0000000 --- a/migrations/4_deploy_gold.js +++ /dev/null @@ -1,11 +0,0 @@ -const Coin = artifacts.require('tokens/erc20/BEGold'); -// const Coin = artifacts.require('tokens/erc20/BEUSDT'); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Coin); - const coinInstance = await Coin.deployed(); - if(coinInstance) { - // tmpData.writeKeyVal('coin', coinInstance.address); - console.log("BEGold successfully deployed.") - } -}; \ No newline at end of file diff --git a/migrations/3_depoly_presale.js b/migrations/4_deploy_presale.js similarity index 100% rename from migrations/3_depoly_presale.js rename to migrations/4_deploy_presale.js diff --git a/migrations/5_deploy_hero.js b/migrations/5_deploy_hero.js deleted file mode 100644 index 45d4f77..0000000 --- a/migrations/5_deploy_hero.js +++ /dev/null @@ -1,10 +0,0 @@ -const Hero = artifacts.require("tokens/erc721/BEHero"); -const config = require("../config/config"); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Hero); - const heroInstance = await Hero.deployed(); - if (heroInstance) { - console.log("BEHero successfully deployed."); - } -}; diff --git a/migrations/5_deploy_nft.js b/migrations/5_deploy_nft.js new file mode 100644 index 0000000..2f8c43d --- /dev/null +++ b/migrations/5_deploy_nft.js @@ -0,0 +1,28 @@ +const config = require("../config/config"); +const base = require("../scripts/base"); + +module.exports = async function (deployer, network, accounts) { + const tokens = [ + { name: "HERO", desc: "CRYPTO ELITE'S HERO", limit: 0 }, + { name: "WEAPON", desc: "CRYPTO ELITE'S WEAPON", limit: 0 }, + { name: "CHIP", desc: "CRYPTO ELITE'S CHIP", limit: 0 }, + ]; + for (let i = 0, l = tokens.length; i < l; i++) { + const { name, desc, limit } = tokens[i]; + let Nft = artifacts.require("tokens/erc721/NFT"); + await deployer.deploy(Nft, desc, name, limit); + const nftInstance = await Nft.deployed(); + if (nftInstance) { + console.log( + `${name} successfully deployed. address: ${nftInstance.address}` + ); + } + base.updateArray({ + name: name, + type: "erc721", + json: "assets/contracts/NFT.json", + address: nftInstance.address, + network, + }); + } +}; diff --git a/migrations/6_deploy_equip.js b/migrations/6_deploy_equip.js deleted file mode 100644 index d8dc333..0000000 --- a/migrations/6_deploy_equip.js +++ /dev/null @@ -1,10 +0,0 @@ -const Equip = artifacts.require("tokens/erc20/BEEquipment"); -const config = require("../config/config"); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Equip); - const equipInstance = await Equip.deployed(); - if (equipInstance) { - console.log("Equip successfully deployed."); - } -}; diff --git a/migrations/6_deploy_factory.js b/migrations/6_deploy_factory.js new file mode 100644 index 0000000..16d0688 --- /dev/null +++ b/migrations/6_deploy_factory.js @@ -0,0 +1,22 @@ +const UserFactory = artifacts.require("logic/UserMinterFactory"); +const base = require("../scripts/base"); + +module.exports = async function (deployer, network, accounts) { + await deployer.deploy(UserFactory); + const userFactoryInstance = await UserFactory.deployed(); + if (userFactoryInstance) { + console.log("User Mint Factory successfully deployed."); + } + + let cfgs = base.updateArray({ + name: "UserMinterFactory", + type: "logic", + json: "assets/contracts/UserMinterFactory.json", + address: userFactoryInstance.address, + network, + }); + + // // update settings + // for (let cfg of cfgs) { + // } +}; diff --git a/migrations/7_deploy_chip.js b/migrations/7_deploy_chip.js deleted file mode 100644 index e6ea81c..0000000 --- a/migrations/7_deploy_chip.js +++ /dev/null @@ -1,10 +0,0 @@ -const Chip = artifacts.require("tokens/erc1155/BEChip1155"); -const config = require("../config/config"); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Chip); - const chipInstance = await Chip.deployed(); - if (chipInstance) { - console.log("Chip successfully deployed."); - } -}; diff --git a/migrations/10_deploy_market.js b/migrations/7_deploy_market.js similarity index 59% rename from migrations/10_deploy_market.js rename to migrations/7_deploy_market.js index 0002b2a..1d8e223 100644 --- a/migrations/10_deploy_market.js +++ b/migrations/7_deploy_market.js @@ -1,4 +1,5 @@ const MarketPlace = artifacts.require("market/BENftMarket"); +const base = require("../scripts/base"); module.exports = async function (deployer, network, accounts) { await deployer.deploy(MarketPlace); @@ -6,4 +7,11 @@ module.exports = async function (deployer, network, accounts) { if (marketInstance) { console.log("MarketPlace successfully deployed."); } + base.updateArray({ + name: "BENftMarket", + type: "logic", + json: "assets/contracts/BENftMarket.json", + address: marketInstance.address, + network, + }); }; diff --git a/migrations/8_deploy_shard.js b/migrations/8_deploy_shard.js deleted file mode 100644 index 905edec..0000000 --- a/migrations/8_deploy_shard.js +++ /dev/null @@ -1,9 +0,0 @@ -const Shard = artifacts.require("chip1155/BEShard"); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Shard); - const shardInstance = await Shard.deployed(); - if (shardInstance) { - console.log("Shard 1155 successfully deployed."); - } -}; diff --git a/migrations/9_deploy_factory.js b/migrations/9_deploy_factory.js deleted file mode 100644 index 7d75532..0000000 --- a/migrations/9_deploy_factory.js +++ /dev/null @@ -1,16 +0,0 @@ -const Factory = artifacts.require('logic/MinterFactory'); -const UserFactory = artifacts.require('logic/UserMinterFactory'); - -module.exports = async function (deployer, network, accounts) { - await deployer.deploy(Factory); - const factoryInstance = await Factory.deployed(); - if(factoryInstance) { - console.log("Mint Factory successfully deployed.") - } - await deployer.deploy(UserFactory); - const userFactoryInstance = await UserFactory.deployed(); - if(userFactoryInstance) { - console.log("User Mint Factory successfully deployed.") - } - -} diff --git a/out_arbitrum_testnet_dev.json b/out_arbitrum_testnet_dev.json new file mode 100644 index 0000000..3bb33cd --- /dev/null +++ b/out_arbitrum_testnet_dev.json @@ -0,0 +1,56 @@ +[ + { + "name": "CEC", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0x8dd1439E0C3254b4543d6D68b3C0C891E5Bd2eCE" + }, + { + "name": "CEG", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0x2C7221588D4FBac2585D71618CD540e74c7413B8" + }, + { + "name": "HERO", + "type": "erc721", + "json": "assets/contracts/NFT.json", + "address": "0x376076491F4fa4139f6FFec8D4abdE92f186f312" + }, + { + "name": "WEAPON", + "type": "erc721", + "json": "assets/contracts/NFT.json", + "address": "0xA89327d3ca77c1f3982a426fe5fB06bAEA7E383F" + }, + { + "name": "CHIP", + "type": "erc721", + "json": "assets/contracts/NFT.json", + "address": "0x07Bad070e403a4Bad2Eec3BA3894c4524d3d2674" + }, + { + "name": "UserMinterFactory", + "type": "logic", + "json": "assets/contracts/UserMinterFactory.json", + "address": "0x0155eA97330aFF0a9d26bd37C6D967D50c41B4e7" + }, + { + "name": "BEUSDT", + "type": "erc20", + "json": "assets/contracts/FT.json", + "address": "0xaa34B79A0Ab433eaC900fB3CB9f191F5Cd27501D" + }, + { + "name": "BADGE", + "type": "erc721", + "json": "assets/contracts/BEBadge.json", + "address": "0xB469331cEC98E52b7Eab07dFB586253bE232BBF7" + }, + { + "name": "BENftMarket", + "type": "logic", + "json": "assets/contracts/BENftMarket.json", + "address": "0xb80E19c50747972E735c68C0BA5651AD952d70BC" + } +] diff --git a/package-lock.json b/package-lock.json index 34e8dea..787760d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@openzeppelin/contracts": "^4.5.0" + "@openzeppelin/contracts": "^4.5.0", + "fs-jetpack": "^5.1.0" }, "devDependencies": { "@openzeppelin/test-helpers": "^0.5.15", @@ -22,6 +23,20 @@ "truffle-plugin-verify": "^0.5.25" } }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@apollo/protobufjs": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/@apollo/protobufjs/download/@apollo/protobufjs-1.2.2.tgz", @@ -100,35 +115,90 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/core": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "dev": true, + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.7.tgz", - "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.22.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" @@ -146,24 +216,16 @@ "node": ">=4" } }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -173,6 +235,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmmirror.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", @@ -211,62 +282,66 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" }, "engines": { "node": ">=6.9.0" @@ -281,43 +356,80 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, + "peer": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helpers": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/highlight": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.7.tgz", - "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -326,9 +438,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.7.tgz", - "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -379,33 +491,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.7.tgz", - "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -423,12 +535,13 @@ } }, "node_modules/@babel/types": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.7.tgz", - "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -476,12 +589,6 @@ "integrity": "sha1-44yfN78Xm46xauOncrQMNW1IMuk=", "dev": true }, - "node_modules/@ensdomains/address-encoder/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/@ensdomains/ens": { "version": "0.4.3", "resolved": "https://registry.npmmirror.com/@ensdomains/ens/download/@ensdomains/ens-0.4.3.tgz", @@ -699,12 +806,6 @@ "bn.js": "^4.11.9" } }, - "node_modules/@ethersproject/bignumber/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/@ethersproject/bytes": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/@ethersproject/bytes/download/@ethersproject/bytes-5.5.0.tgz", @@ -980,12 +1081,6 @@ "hash.js": "1.1.7" } }, - "node_modules/@ethersproject/signing-key/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/@ethersproject/signing-key/node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmmirror.com/hash.js/download/hash.js-1.1.7.tgz", @@ -1209,6 +1304,60 @@ "dev": true, "optional": true }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, "node_modules/@ledgerhq/devices": { "version": "5.51.1", "resolved": "https://registry.npmmirror.com/@ledgerhq/devices/download/@ledgerhq/devices-5.51.1.tgz", @@ -2199,6 +2348,12 @@ "web3-utils": "1.5.3" } }, + "node_modules/@truffle/codec/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/@truffle/compile-common": { "version": "0.7.23", "resolved": "https://registry.npmmirror.com/@truffle/compile-common/download/@truffle/compile-common-0.7.23.tgz", @@ -2363,6 +2518,12 @@ "colors": "1.4.0" } }, + "node_modules/@truffle/debug-utils/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/@truffle/debugger": { "version": "9.2.8", "resolved": "https://registry.npmmirror.com/@truffle/debugger/download/@truffle/debugger-9.2.8.tgz", @@ -2389,6 +2550,12 @@ "web3-eth-abi": "1.5.3" } }, + "node_modules/@truffle/debugger/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/@truffle/error": { "version": "0.0.14", "resolved": "https://registry.npmmirror.com/@truffle/error/download/@truffle/error-0.0.14.tgz", @@ -2422,12 +2589,6 @@ "web3-provider-engine": "16.0.3" } }, - "node_modules/@truffle/hdwallet-provider/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/@truffle/hdwallet-provider/node_modules/ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-6.2.1.tgz", @@ -2454,6 +2615,12 @@ "web3": "1.5.3" } }, + "node_modules/@truffle/interface-adapter/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/@truffle/preserve": { "version": "0.2.4", "resolved": "https://registry.npmmirror.com/@truffle/preserve/download/@truffle/preserve-0.2.4.tgz", @@ -3095,6 +3262,13 @@ "secp256k1": "^4.0.1" } }, + "node_modules/@zondax/filecoin-signing-tools/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true, + "optional": true + }, "node_modules/@zxing/text-encoding": { "version": "0.9.0", "resolved": "https://registry.npmmirror.com/@zxing/text-encoding/download/@zxing/text-encoding-0.9.0.tgz", @@ -3897,12 +4071,6 @@ "safer-buffer": "^2.1.0" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/assert": { "version": "1.5.0", "resolved": "https://registry.npmmirror.com/assert/download/assert-1.5.0.tgz", @@ -4344,8 +4512,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/balanced-match/download/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "dev": true + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, "node_modules/base": { "version": "0.11.2", @@ -4684,9 +4851,9 @@ "dev": true }, "node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-5.2.0.tgz", - "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "node_modules/body-parser": { @@ -4852,6 +5019,12 @@ "randombytes": "^2.0.1" } }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/browserify-sign": { "version": "4.2.1", "resolved": "https://registry.npmmirror.com/browserify-sign/download/browserify-sign-4.2.1.tgz", @@ -4869,6 +5042,12 @@ "safe-buffer": "^5.2.0" } }, + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz", @@ -4879,16 +5058,29 @@ } }, "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -5123,10 +5315,24 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001298", - "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001298.tgz", - "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==", - "dev": true + "version": "1.0.30001494", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001494.tgz", + "integrity": "sha512-sY2B5Qyl46ZzfYDegrl8GBCzdawSLT4ThM9b9F+aDYUrAG2zCOyMbd2Tq34mS1g4ZKBfjRlzOohQMxx28x6wJg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, "node_modules/caseless": { "version": "0.12.0", @@ -5819,7 +6025,6 @@ "resolved": "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.8.0.tgz", "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", "dev": true, - "optional": true, "dependencies": { "safe-buffer": "~5.1.1" } @@ -5828,8 +6033,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.1.2.tgz", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true, - "optional": true + "dev": true }, "node_modules/cookie": { "version": "0.4.1", @@ -5943,12 +6147,6 @@ "elliptic": "^6.5.3" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/create-hash/download/create-hash-1.2.0.tgz", @@ -6561,12 +6759,6 @@ "randombytes": "^2.0.0" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/dns-over-http-resolver": { "version": "1.2.3", "resolved": "https://registry.npmmirror.com/dns-over-http-resolver/download/dns-over-http-resolver-1.2.3.tgz", @@ -6776,9 +6968,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.38", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.38.tgz", - "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==", + "version": "1.4.419", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.419.tgz", + "integrity": "sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw==", "dev": true }, "node_modules/elliptic": { @@ -6796,12 +6988,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/emittery": { "version": "0.4.1", "resolved": "https://registry.npmmirror.com/emittery/download/emittery-0.4.1.tgz", @@ -7133,8 +7319,8 @@ }, "node_modules/escalade": { "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/download/escalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { "node": ">=6" @@ -7393,12 +7579,6 @@ "safe-event-emitter": "^1.0.1" } }, - "node_modules/eth-json-rpc-middleware/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/eth-json-rpc-middleware/node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz", @@ -7493,12 +7673,6 @@ "xhr-request-promise": "^0.1.2" } }, - "node_modules/eth-lib/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/eth-query": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/eth-query/download/eth-query-2.1.2.tgz", @@ -7531,12 +7705,6 @@ "tweetnacl-util": "^0.15.0" } }, - "node_modules/eth-sig-util/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/eth-sig-util/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -7640,12 +7808,6 @@ "ethereumjs-util": "^6.0.0" } }, - "node_modules/ethereumjs-abi/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-6.2.1.tgz", @@ -7672,12 +7834,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/ethereumjs-account/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethereumjs-account/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -7707,12 +7863,6 @@ "merkle-patricia-tree": "^2.1.2" } }, - "node_modules/ethereumjs-block/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -7759,12 +7909,6 @@ "ethereumjs-util": "^5.0.0" } }, - "node_modules/ethereumjs-tx/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethereumjs-tx/node_modules/ethereum-common": { "version": "0.0.18", "resolved": "https://registry.npmmirror.com/ethereum-common/download/ethereum-common-0.0.18.tgz", @@ -7811,6 +7955,12 @@ "@types/node": "*" } }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/ethereumjs-vm": { "version": "2.6.0", "resolved": "https://registry.npmmirror.com/ethereumjs-vm/download/ethereumjs-vm-2.6.0.tgz", @@ -7831,12 +7981,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/ethereumjs-vm/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { "version": "2.2.2", "resolved": "https://registry.npmmirror.com/ethereumjs-block/download/ethereumjs-block-2.2.2.tgz", @@ -7946,12 +8090,6 @@ "xmlhttprequest": "1.8.0" } }, - "node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/ethjs-abi": { "version": "0.2.1", "resolved": "https://registry.npmmirror.com/ethjs-abi/download/ethjs-abi-0.2.1.tgz", @@ -8696,6 +8834,33 @@ "node": ">= 10.0.0" } }, + "node_modules/fs-jetpack": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-5.1.0.tgz", + "integrity": "sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/fs-jetpack/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/fs-jetpack/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fs-minipass": { "version": "1.2.7", "resolved": "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-1.2.7.tgz", @@ -9828,6 +9993,16 @@ "node": ">=0.10.0" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-2.0.5.tgz", @@ -13022,6 +13197,13 @@ "buffer-pipe": "0.0.3" } }, + "node_modules/leb128/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true, + "optional": true + }, "node_modules/level": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/level/download/level-5.0.1.tgz", @@ -13979,12 +14161,6 @@ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, - "node_modules/merkle-patricia-tree/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/merkle-patricia-tree/node_modules/deferred-leveldown": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/deferred-leveldown/download/deferred-leveldown-1.2.2.tgz", @@ -14196,12 +14372,6 @@ "miller-rabin": "bin/miller-rabin" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz", @@ -15606,9 +15776,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634807140363&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz", - "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "node_modules/nofilter": { @@ -16624,8 +16794,8 @@ }, "node_modules/picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz", - "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "node_modules/picomatch": { @@ -17717,12 +17887,6 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/pump/download/pump-3.0.0.tgz", @@ -18420,6 +18584,12 @@ "rlp": "bin/rlp" } }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, "node_modules/rn-host-detect": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/rn-host-detect/download/rn-host-detect-1.2.0.tgz", @@ -20196,13 +20366,6 @@ "node": ">=6.0.0" } }, - "node_modules/tiny-secp256k1/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true, - "optional": true - }, "node_modules/title-case": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/title-case/download/title-case-2.1.1.tgz", @@ -20893,6 +21056,36 @@ "yarn": "*" } }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/upper-case": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/upper-case/download/upper-case-1.1.3.tgz", @@ -22052,12 +22245,6 @@ "node": ">=8.0.0" } }, - "node_modules/web3-eth-accounts/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/web3-eth-accounts/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmmirror.com/eth-lib/download/eth-lib-0.2.8.tgz", @@ -22136,12 +22323,6 @@ "node": ">=8.0.0" } }, - "node_modules/web3-eth-iban/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/web3-eth-personal": { "version": "1.5.3", "resolved": "https://registry.npmmirror.com/web3-eth-personal/download/web3-eth-personal-1.5.3.tgz", @@ -22206,12 +22387,6 @@ "node": ">=12.0.0" } }, - "node_modules/web3-provider-engine/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/web3-provider-engine/node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz", @@ -22398,12 +22573,6 @@ "node": ">=8.0.0" } }, - "node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "node_modules/web3-utils/node_modules/eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmmirror.com/eth-lib/download/eth-lib-0.2.8.tgz", @@ -23275,6 +23444,17 @@ } } }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@apollo/protobufjs": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/@apollo/protobufjs/download/@apollo/protobufjs-1.2.2.tgz", @@ -23340,29 +23520,70 @@ } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "dev": true }, + "@babel/core": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "dev": true, + "peer": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "peer": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "peer": true + } + } + }, "@babel/generator": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.7.tgz", - "integrity": "sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dev": true, "requires": { - "@babel/types": "^7.16.7", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.22.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "dependencies": { "jsesc": { @@ -23370,27 +23591,31 @@ "resolved": "https://registry.npmmirror.com/jsesc/download/jsesc-2.5.2.tgz", "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true } } }, "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", + "@babel/compat-data": "^7.22.0", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmmirror.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1632475048843&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", @@ -23424,50 +23649,54 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", + "dev": true }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "dev": true, + "peer": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" } }, "@babel/helper-plugin-utils": { @@ -23476,42 +23705,70 @@ "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", "dev": true }, - "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, + "peer": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.21.5" } }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true }, + "@babel/helpers": { + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", + "dev": true, + "peer": true, + "requires": { + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" + } + }, "@babel/highlight": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.7.tgz", - "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.7.tgz", - "integrity": "sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "dev": true }, "@babel/plugin-transform-runtime": { @@ -23546,30 +23803,30 @@ } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.21.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", + "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.21.4", + "@babel/parser": "^7.21.9", + "@babel/types": "^7.21.5" } }, "@babel/traverse": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.7.tgz", - "integrity": "sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -23583,12 +23840,13 @@ } }, "@babel/types": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.7.tgz", - "integrity": "sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "dependencies": { @@ -23631,12 +23889,6 @@ "resolved": "https://registry.npmmirror.com/bech32/download/bech32-1.1.4.tgz", "integrity": "sha1-44yfN78Xm46xauOncrQMNW1IMuk=", "dev": true - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true } } }, @@ -23855,14 +24107,6 @@ "@ethersproject/bytes": "^5.5.0", "@ethersproject/logger": "^5.5.0", "bn.js": "^4.11.9" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "@ethersproject/bytes": { @@ -24136,12 +24380,6 @@ "hash.js": "1.1.7" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "hash.js": { "version": "1.1.7", "resolved": "https://registry.npmmirror.com/hash.js/download/hash.js-1.1.7.tgz", @@ -24346,6 +24584,53 @@ "dev": true, "optional": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + } + } + }, "@ledgerhq/devices": { "version": "5.51.1", "resolved": "https://registry.npmmirror.com/@ledgerhq/devices/download/@ledgerhq/devices-5.51.1.tgz", @@ -25273,6 +25558,14 @@ "semver": "^7.3.4", "utf8": "^3.0.0", "web3-utils": "1.5.3" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "@truffle/compile-common": { @@ -25437,6 +25730,12 @@ "@truffle/error": "^0.0.14", "colors": "1.4.0" } + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true } } }, @@ -25464,6 +25763,14 @@ "semver": "^7.3.4", "web3": "1.5.3", "web3-eth-abi": "1.5.3" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "@truffle/error": { @@ -25499,12 +25806,6 @@ "web3-provider-engine": "16.0.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-6.2.1.tgz", @@ -25531,6 +25832,14 @@ "bn.js": "^5.1.3", "ethers": "^4.0.32", "web3": "1.5.3" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "@truffle/preserve": { @@ -26114,6 +26423,7 @@ }, "@zondax/filecoin-signing-tools": { "version": "git+ssh://git@github.com/Digital-MOB-Filecoin/filecoin-signing-tools-js.git#8f8e92157cac2556d35cab866779e9a8ea8a4e25", + "integrity": "sha512-u1sHMBQXGiGHv8S3LkdKs0mH1erEbD4QoHWwCZns0BuQaKlpxbdxN8ikHCQOBPT6FzSHadwhf3cTSWxVl3DGig==", "dev": true, "from": "@zondax/filecoin-signing-tools@github:Digital-MOB-Filecoin/filecoin-signing-tools-js", "optional": true, @@ -26128,6 +26438,15 @@ "ipld-dag-cbor": "^0.17.0", "leb128": "0.0.5", "secp256k1": "^4.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true, + "optional": true + } } }, "@zxing/text-encoding": { @@ -26772,14 +27091,6 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "assert": { @@ -27173,8 +27484,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/balanced-match/download/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "dev": true + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=" }, "base": { "version": "0.11.2", @@ -27479,9 +27789,9 @@ "dev": true }, "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-5.2.0.tgz", - "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, "body-parser": { @@ -27637,6 +27947,14 @@ "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "browserify-sign": { @@ -27654,6 +27972,14 @@ "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "browserify-zlib": { @@ -27666,16 +27992,15 @@ } }, "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" } }, "bs58": { @@ -27874,9 +28199,9 @@ "optional": true }, "caniuse-lite": { - "version": "1.0.30001298", - "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001298.tgz", - "integrity": "sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ==", + "version": "1.0.30001494", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001494.tgz", + "integrity": "sha512-sY2B5Qyl46ZzfYDegrl8GBCzdawSLT4ThM9b9F+aDYUrAG2zCOyMbd2Tq34mS1g4ZKBfjRlzOohQMxx28x6wJg==", "dev": true }, "caseless": { @@ -28477,7 +28802,6 @@ "resolved": "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.8.0.tgz", "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", "dev": true, - "optional": true, "requires": { "safe-buffer": "~5.1.1" }, @@ -28486,8 +28810,7 @@ "version": "5.1.2", "resolved": "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.1.2.tgz", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true, - "optional": true + "dev": true } } }, @@ -28581,14 +28904,6 @@ "requires": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "create-hash": { @@ -29114,14 +29429,6 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "dns-over-http-resolver": { @@ -29327,9 +29634,9 @@ } }, "electron-to-chromium": { - "version": "1.4.38", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.38.tgz", - "integrity": "sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ==", + "version": "1.4.419", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.419.tgz", + "integrity": "sha512-jdie3RiEgygvDTyS2sgjq71B36q2cDSBfPlwzUyuOrfYTNoYWyBxxjGJV/HAu3A2hB0Y+HesvCVkVAFoCKwCSw==", "dev": true }, "elliptic": { @@ -29345,14 +29652,6 @@ "inherits": "^2.0.4", "minimalistic-assert": "^1.0.1", "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "emittery": { @@ -29661,8 +29960,8 @@ }, "escalade": { "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/escalade/download/escalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { @@ -29879,12 +30178,6 @@ "safe-event-emitter": "^1.0.1" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz", @@ -29903,6 +30196,7 @@ }, "ethereumjs-abi": { "version": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0", + "integrity": "sha512-qs8G5KwnIO/thOQjv1RvR/4oiTsy6IaCsN+ory5dbiqFXz8sd239aWJH0wmsVNPimL5X1KzQheUpi6xAo6FU4w==", "dev": true, "from": "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git", "requires": { @@ -29972,14 +30266,6 @@ "servify": "^0.1.12", "ws": "^3.0.0", "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "eth-query": { @@ -30013,12 +30299,6 @@ "tweetnacl-util": "^0.15.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -30128,12 +30408,6 @@ "ethereumjs-util": "^6.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-util": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-6.2.1.tgz", @@ -30162,12 +30436,6 @@ "safe-buffer": "^5.1.1" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -30198,12 +30466,6 @@ "merkle-patricia-tree": "^2.1.2" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/ethereumjs-util/download/ethereumjs-util-5.2.1.tgz", @@ -30246,12 +30508,6 @@ "ethereumjs-util": "^5.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereum-common": { "version": "0.0.18", "resolved": "https://registry.npmmirror.com/ethereum-common/download/ethereum-common-0.0.18.tgz", @@ -30296,6 +30552,12 @@ "requires": { "@types/node": "*" } + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true } } }, @@ -30318,12 +30580,6 @@ "safe-buffer": "^5.1.1" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "ethereumjs-block": { "version": "2.2.2", "resolved": "https://registry.npmmirror.com/ethereumjs-block/download/ethereumjs-block-2.2.2.tgz", @@ -30432,14 +30688,6 @@ "setimmediate": "1.0.4", "uuid": "2.0.1", "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "ethjs-abi": { @@ -31070,6 +31318,32 @@ } } }, + "fs-jetpack": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-5.1.0.tgz", + "integrity": "sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==", + "requires": { + "minimatch": "^5.1.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "fs-minipass": { "version": "1.2.7", "resolved": "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-1.2.7.tgz", @@ -31915,6 +32189,13 @@ } } }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "peer": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-2.0.5.tgz", @@ -34677,6 +34958,15 @@ "requires": { "bn.js": "^5.0.0", "buffer-pipe": "0.0.3" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true, + "optional": true + } } }, "level": { @@ -35542,12 +35832,6 @@ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "deferred-leveldown": { "version": "1.2.2", "resolved": "https://registry.npmmirror.com/deferred-leveldown/download/deferred-leveldown-1.2.2.tgz", @@ -35747,14 +36031,6 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "mime": { @@ -36951,9 +37227,9 @@ } }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634807140363&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz", - "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true }, "nofilter": { @@ -37819,8 +38095,8 @@ }, "picocolors": { "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz", - "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "picomatch": { @@ -38811,14 +39087,6 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "pump": { @@ -39403,6 +39671,14 @@ "dev": true, "requires": { "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + } } }, "rn-host-detect": { @@ -40950,15 +41226,6 @@ "create-hmac": "^1.1.7", "elliptic": "^6.4.0", "nan": "^2.13.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true, - "optional": true - } } }, "title-case": { @@ -41132,6 +41399,7 @@ }, "truffle-plugin-stdjsonin": { "version": "git+ssh://git@github.com/mhrsalehi/truffle-plugin-stdjsonin.git#0ddb4110de7e14b2242f7467600d1ac149e2c460", + "integrity": "sha512-W2CIxNozYggLgNGXbPnFJX/xRaTUH2VfMV2bXGTizRwbc/W2dKVzkHVLBCArckter4Qkdj3IFZVVjmlabmasKA==", "dev": true, "from": "truffle-plugin-stdjsonin@git+https://github.com/mhrsalehi/truffle-plugin-stdjsonin.git", "requires": { @@ -41541,6 +41809,16 @@ "dev": true, "optional": true }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/upper-case/download/upper-case-1.1.3.tgz", @@ -42522,12 +42800,6 @@ "web3-utils": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmmirror.com/eth-lib/download/eth-lib-0.2.8.tgz", @@ -42593,14 +42865,6 @@ "requires": { "bn.js": "^4.11.9", "web3-utils": "1.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } } }, "web3-eth-personal": { @@ -42658,12 +42922,6 @@ "xtend": "^4.0.1" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz", @@ -42682,6 +42940,7 @@ }, "ethereumjs-abi": { "version": "git+ssh://git@github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0", + "integrity": "sha512-qs8G5KwnIO/thOQjv1RvR/4oiTsy6IaCsN+ory5dbiqFXz8sd239aWJH0wmsVNPimL5X1KzQheUpi6xAo6FU4w==", "dev": true, "from": "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git", "requires": { @@ -42836,12 +43095,6 @@ "utf8": "3.0.0" }, "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - }, "eth-lib": { "version": "0.2.8", "resolved": "https://registry.npmmirror.com/eth-lib/download/eth-lib-0.2.8.tgz", diff --git a/package.json b/package.json index 9c42776..8aa6d55 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,9 @@ "deploy:bsctest": "truffle migrate --network bsc_testnet --compile-none", "deploy:kcctest": "truffle migrate --network kcc_testnet --compile-none", "deploy:polygon_testnet": "truffle migrate --network polygon_testnet --compile-none", - "deploy:arbitrum_testnet": "truffle migrate --network arbitrum_testnet --compile-none", - "update:nft_sample": "npx truffle exec --network lan20 ./init_scripts/update_nft_setting.js", + "deploy:dev:arbitrum_testnet": "DEPLOY_ENV=dev truffle migrate --network arbitrum_testnet --compile-none", + "deploy:release:arbitrum_testnet": "DEPLOY_ENV=release truffle migrate --network arbitrum_testnet --compile-none", + "update:nft_setting": "npx truffle exec --network arbitrum_testnet ./init_scripts/update_nft_setting.js", "mint_presale:dev": "npx truffle exec --network development ./init_scripts/generate_presalebox.js", "size": "truffle run contract-size" }, @@ -32,6 +33,7 @@ "truffle-plugin-verify": "^0.5.25" }, "dependencies": { - "@openzeppelin/contracts": "^4.5.0" + "@openzeppelin/contracts": "^4.5.0", + "fs-jetpack": "^5.1.0" } } diff --git a/scripts/base.js b/scripts/base.js new file mode 100644 index 0000000..d7f11d5 --- /dev/null +++ b/scripts/base.js @@ -0,0 +1,30 @@ +const jetpack = require("fs-jetpack"); + +module.exports = { + updateArray: function ({ name, type, json, address, network }) { + let env = process.env.NODE_ENV || "dev"; + const filename = `./out_${network}_${env}.json`; + let cfgs = jetpack.read(filename, "json"); + cfgs = cfgs || []; + if (cfgs.find((item) => item.name === name)) { + cfgs.slice( + cfgs.findIndex((item) => item.name === name), + 1 + ); + } + cfgs.push({ + name, + type, + json, + address, + }); + jetpack.write(filename, cfgs); + return cfgs; + }, + + loadData: function ({ network }) { + let env = process.env.NODE_ENV || "dev"; + const filename = `./out_${network}_${env}.json`; + return jetpack.read(filename, "json"); + }, +}; diff --git a/truffle-config.js b/truffle-config.js index 894e385..f6dd6e1 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -123,7 +123,8 @@ module.exports = { provider: () => new HDWalletProvider({ privateKeys: [kccTestnetKey], - providerOrUrl: `https://arbitrum-goerli.public.blastapi.io`, + // providerOrUrl: `https://arbitrum-goerli.public.blastapi.io`, + providerOrUrl: "https://arbitrum-goerli.publicnode.com", pollingInterval: 8000, }), gasPrice: 28000000000,